我正在运行 Apache 2.2 Web 服务器。
在压力测试时,我注意到我无法将负载增加到超过一定数量的同时连接。奇怪的是,我似乎没有达到 CPU 或内存的限制,而且我几乎看不到页面服务时间有任何增加。
然而,我注意到越来越多的 httpd 进程处于 mod_status 所称的“日志记录”状态:
MaxClients 是 500,但正如您所见,随着越来越多的进程花费时间进行记录,可用于处理连接的实际进程数会减少。
怎么会这样?
我的第一个猜测是磁盘 IO 瓶颈,但有几件事与此相反:
- 尽管其他地方应该有更多的磁盘 IO,但应用程序的其他部分没有瓶颈。
- 每个进程在请求结束时只应向访问日志写入一行。如果此处存在瓶颈,则按当今标准,磁盘写入速度会异常缓慢。
我该怎么做才能进一步调查此事?
谢谢,雅各布