0

携帯電話からデータを受信して​​データベースに保存するサービスを作成しています。

電話機は 250 ミリ秒ごとにデータを送信しています。データ保存の遅延が増加していることに気付いたので、WireShark を実行してログも書き込もうとしました。

携帯電話からの Web リクエストが遅延なく行われていることに気付きました (WireShark で確認) が、サービス ログでリクエストが 1 秒半またはほぼ 2 秒ごとに受信されていることに気付きました。

問題がどこにあるのか、またはそのような遅延の原因をテストして特定する方法を知っている人はいますか?

WCF (webHttpBinding) でサービスを作成しており、データベースは MS SQL です。ちなみに、ログにはhttpリクエストの時間と、データベースにデータを書き込んだ時間も保存されます。前述のように、リクエストは 1.5 ~ 2 秒ごとに受信され、その後、データをデータベースに保存するのに 50 ミリ秒かかります。

ありがとう!

4

3 に答える 3

0

たぶん、サービスプロバイダーによって課される接続にいくつかの制限がありますか?

(テスト用に)データベースに書き込みを行わず、ページヒットをタイムスタンプ付きでサーバーログに記録するとどうなりますか?

于 2009-04-11T21:11:59.300 に答える
0

Webサービスでトレースが実行されていないことを確認してください。これにより、パフォーマンスが実際に停止する可能性があります。

于 2009-04-11T21:15:14.737 に答える
0

質問を読んだ後の私の最初の推測は、データを非常に速く送信している可能性があり、データベースサーバーが書き込み競合ロックにヒットしている可能性があります (たとえば、オートナンバーフィールド?)

データベース プラットフォームが SQL Server の場合は、http: //www.sql-server-performance.com/articles/per/lock_contention_nolock_rowlock_p1.aspx をご覧ください。

とにかく、システムの全体的なアーキテクチャに関する詳細情報を投稿してください...どのソフトウェア/プラットフォームがどの部分で使用されているかなど...

于 2009-04-11T18:27:28.527 に答える