2009-04-11 9 views
0

携帯電話からデータを受信して​​データベースに保存するサービスを作成しています。RESTfulサービスのパフォーマンスが悪い原因を見つけるにはどうすればよいですか?

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

私は携帯電話からのWebリクエストが遅れずに(WireSharkでチェックされている)気付いていましたが、サービスログには2秒半またはほぼ2秒ごとにリクエストが受信されていました。

問題がどこで発生する可能性がありますか、そのような遅延の原因をテストして判断する方法は誰にも分かりますか?

私はWCF(webHttpBinding)でサービスを作成していますが、データベースはMS SQLです。 ところで、ログにはhttpリクエストの時刻とデータベースへのデータ書き込み時間が格納されます。上述のように、要求は1.5-2秒ごとに受信され、その後、データをデータベースに格納するのに50msかかる。

ありがとうございます!質問を読んだ後

+0

プラットフォーム/テクノロジスタック? – Brian

答えて

0

私の最初の推測では、多分あなたは非常に高速のデータを提出していることを、データベースサーバは(例えばオートナンバー型フィールドを?)書き込みの競合ロックを当たってた

データベースプラットフォームはSQL Serverのであれば、取りますhttp://www.sql-server-performance.com/articles/per/lock_contention_nolock_rowlock_p1.aspx

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

0

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

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

0

Webサービスでトレースが実行されていないことを確認してください。これは実際にperfを殺すことができます。

関連する問題