2011-07-21 15 views
2

従来のASPで書かれたSQL Server 2005データベースにアクセスする古代のアプリケーションをトラブルシューティングしています。これはイントラネットアプリケーションのみです。SQL Serverからクライアントに送信されたバイト数

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

クライアントとサーバーが異なるマシン上にある場合は、Wiresharkを起動して真の帯域幅を監視します。

http://www.wireshark.org/

+0

はい、すばらしい答えです。私はそれを確認します。サーバーは実際に別の状態にあります。すばらしいです! – ONDEV

+1

問題ありません。キャプチャフィルタを使用して、(たとえば、リモートデスクトップトラフィックとは対照的に)適切なトラフィックしか得られないようにする必要があります。おそらく最も良い方法は、ポートまたはIPでフィルタリングすることです。 – anon

+0

ああ、私も見てみたいことがいくつかあります。これは素晴らしいです、ありがとう! – ONDEV

関連する問題