0

我正在创建一个从手机接收一些数据并将其保存到数据库的服务。

手机每 250 毫秒发送一次数据。当我注意到数据存储的延迟正在增加时,我尝试运行 WireShark 并写入日志。

我注意到来自手机的网络请求正在毫无延迟地发出(使用 WireShark 检查),但在服务日志中,我注意到每隔一秒半或几乎两秒就会收到请求。

有谁知道问题出在哪里或测试和确定这种延迟原因的方法?

我正在使用 WCF (webHttpBinding) 创建一个服务,数据库是 MS SQL。顺便说一句,日志存储了http请求的时间以及将数据写入数据库的时间。如上所述,每 1.5 - 2 秒接收一次请求,之后需要 50 毫秒将数据存储到数据库中。

谢谢!

4

3 回答 3

0

阅读问题后我的第一个猜测是,也许您提交数据的速度如此之快,数据库服务器遇到了写争用锁(例如自动编号字段?)

如果您的数据库平台是 SQL Server,请查看http://www.sql-server-performance.com/articles/per/lock_contention_nolock_rowlock_p1.aspx

无论如何,请发布有关系统整体架构的更多信息......哪些软件/平台用于哪些部分等......

于 2009-04-11T18:27:28.527 回答
0

也许服务提供商对连接施加了一些限制?

如果您(用于测试)不写入数据库,而只是在服务器日志中记录页面命中并带有时间戳,会发生什么情况?

于 2009-04-11T21:11:59.300 回答
0

检查您没有在 Web 服务上运行任何跟踪,这真的可以杀死 perf。

于 2009-04-11T21:15:14.737 回答