我在IIS网站中使用HttpModule,并在8秒内发出14,000个POST请求。插入(记录)在Sql server数据库(没有索引的表)中。
然而,只记录了1,200个请求,显然所有其他请求都被错过了
我不知道为什么。
当我在UploadStringAsync(..)之后添加Thread.Sleep(10)时,我只想念约。 14,000中有50-70条消息。
这是一个IIS问题(这台机器上的5.1),还是14,000/8秒的想法。荒谬?
编辑@DForck42:
任何地方都没有使用选择语句; insert语句(存储过程)是:
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 :(得分:1)
这可能是连接限制问题。 IIS将处理多少个同时连接是有限制的(例如,XP Pro上的5.1只能处理10个)。达到连接队列限制时,IIS将开始拒绝请求。检查HTTPERR日志中是否有被拒绝的请求。