Сколько байт отправлено с SQL Server на клиент - PullRequest
2 голосов
/ 21 июля 2011

Мы устраняем неисправности древнего приложения, написанного на классическом ASP, которое обращается к базе данных SQL Server 2005.Это только приложение для интрасети.

Страница ASP настроена для разбивки на страницы более 200 000 записей, 10/20 или 30 записей одновременно.Мы планируем перевести это приложение на более современный язык и т. Д. Тем временем нас попросили определить, сколько байтов было передано клиенту.

SQL-запрос как таковой:

db_server = "<server name>"
db_name = "<database name>"
db_username = "<user name>"
db_userpassword = "<password>"

connectstr = "Driver={SQL Server};SERVER=" & db_server & ";DATABASE=" & db_name & ";UID=" & db_username & ";PWD=" & db_userpassword


With objCn
    .CursorLocation = adUseClient
    .ConnectionTimeout = 15
    .CommandTimeout = 30
    .ConnectionString = connectstr
    .Open
End With

With objRs
    .ActiveConnection = objCn
    .CursorLocation = adUseClient
    .CursorType = adOpenForwardOnly
    .LockType = adLockReadOnly
    .Source = sql
    .PageSize = intPageSize
    .Open
    Set .ActiveConnection = Nothing 'Disconnect the recordset
End With

ASP перебирает возвращаемые данные, и именно здесь мы бы хотели узнать, сколько байтов фактически получено на клиенте.Мы думаем, что нужно просто взять размер страницы и умножить его на возвращаемую длину поля данных, так как курсор возвращает только одну «страницу» за раз.Это так просто?Мы упускаем какие-либо существенные накладные расходы в этом расчете?

1 Ответ

4 голосов
/ 21 июля 2011

Если клиент и сервер находятся на разных машинах, запустите Wireshark для мониторинга истинной пропускной способности.

http://www.wireshark.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...