2011-07-21 5 views
2

Nous sommes en train de dépanner une ancienne application écrite en ASP classique qui accède à une base de données SQL Server 2005. Ceci est une application intranet uniquement.Nombre d'octets envoyés depuis SQL Server vers le client

La page ASP est configurée pour paginer dans plus de 200 000 enregistrements, 10/20 ou 30 enregistrements à la fois. Nous prévoyons de déplacer cette application vers une langue plus actuelle, etc. En attendant, nous avons été invités à déterminer combien d'octets ont été transférés au client.

La requête SQL est en tant que telle:

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 

L'ASP va à la page à travers les données de retour et c'est là que nous voudrions savoir combien d'octets sont effectivement reçu au client. Nous pensons qu'il suffit de prendre la taille de page et de la multiplier par les longueurs de champ de données renvoyées car le curseur ne renvoie qu'une seule "page" à la fois. Est-ce si simple? Manquons-nous des frais généraux importants dans ce calcul?

Répondre

4

Si le client et le serveur se trouvent sur des machines différentes, lancez Wireshark pour surveiller la véritable bande passante.

http://www.wireshark.org/

+0

Oui, c'est une excellente réponse! Je vais vérifier cela. Le serveur est situé dans un autre état en fait. Génial! – ONDEV

+1

Pas de problème. Vous devez utiliser un filtre de capture pour vous assurer que vous obtenez uniquement le bon trafic (par opposition au trafic Bureau à distance, par exemple). Probablement le meilleur moyen est de filtrer par port ou par IP. – anon

+0

Oh oui ... Je vois d'autres choses que je dois aussi examiner. C'est excellent, merci! – ONDEV

Questions connexes