2011-01-27 60 views
1

我在IIS网站中使用HttpModule并在8秒内触发14,000个POST请求。插入(记录)在Sql服务器数据库(没有索引的表)中。响应性/性能IIS网站

但是,只有1,200个请求被记录,显然所有其他人都不知所措,并且我不知道为什么。
当我在UploadStringAsync(..)之后添加Thread.Sleep(10)时,我只错过了大约。 14,000个中有50-70条消息。 它是一个IIS问题(本机上是5.1),还是14,000/8秒的想法。荒诞?

Edit @ DForck42:
没有select语句在任何地方使用; insert语句(stored proc)是:

Entlib.Cmd.Parameters["@datetime"].Value = timestamp; 
Entlib.Cmd.Parameters["@url"].Value = url; 
Entlib.Cmd.Parameters["@body"].Value = postdata; 

using (DbConnection connection = Entlib.Db.CreateConnection()) 
      { 
       Entlib.Cmd.Connection = connection; 
       connection.Open(); 
       Entlib.Cmd.ExecuteNonQuery(); 
       connection.Close(); 
      } 
+0

你可以发布你的插入语句看起来像请。还有,在任何时候都是从同一张表中选择的? – DForck42 2011-01-27 14:48:21

回答

1

这可能是一个连接限制问题。有多少个同时连接的IIS会受到限制(例如XP专业版上的5.1只能处理10个)。达到连接队列限制时,IIS将开始拒绝请求。检查你的HTTPERR日志是否有被拒绝的请求。