我有一个fastcgi应用程序,每秒运行几百个请求。大多数请求以毫秒或更短的速度完成,但有些请求占用的时间超过半秒。当输出更多时序信息时,我能够将问题确定为调用FCGX_Finish_r
。
据我所知,此调用将刷新写入apache(mod_fastcgi)的所有数据。但为什么会阻止?
我尝试将其缩小到响应大小,但尽管最长响应持续时间(即2秒)具有最大响应(即120kb),但那些相同的大响应可以短至16ms。
- 编辑 -
我跑了一些更多的数字,一旦响应大于16k,似乎会出现糟糕的时间。虽然从那时起,慢响应的大小和持续时间之间没有相关性。