我正在创建一项服务,从手机接收一些数据并将其保存到数据库中。
手机每250毫秒发送一次数据。我注意到数据存储的延迟正在增加,我试图运行WireShark并写一个日志。
我注意到移动电话的网络请求没有延迟(使用WireShark检查),但是在服务日志中我注意到请求是每隔一秒半或几乎两秒钟收到的。
有谁知道问题出在哪里或测试和确定延迟原因的方法?
我正在使用WCF(webHttpBinding)创建服务,数据库是MS SQL。 顺便说一下,日志存储http请求的时间以及将数据写入数据库的时间。如上所述,请求每1.5-2秒收到一次,之后需要50 ms才能将数据存储到数据库中。
谢谢!
答案 0 :(得分:0)
我在读完这个问题之后的第一个猜测是,你提交数据的速度可能很快,数据库服务器是否会出现写争用锁(例如自动编号字段?)
如果您的数据库平台是SQL Server,请查看http://www.sql-server-performance.com/articles/per/lock_contention_nolock_rowlock_p1.aspx
无论如何,请发布有关系统整体架构的更多信息......在哪些部分使用哪些软件/平台......
答案 1 :(得分:0)
服务提供商强加的连接可能存在一些限制吗?
如果您(用于测试)不写入数据库并且仅使用时间戳记录服务器日志中的页面命中,会发生什么?
答案 2 :(得分:0)
检查您是否在Web服务上没有运行任何跟踪,这确实可以杀死性能。