正如最近向我解释的那样,“喂食问题”发生在连接到应用程序服务器的连接将缓慢networking连接的数据连接到客户端时。 这对我来说是有意义的,现在我明白在我的应用程序服务器之前放置高并发代理的重要性。
我的问题是,第一个人如何认识到这个问题呢? 如果我没有向我解释这些问题,哪些* nix工具和故障排除技术将帮助我认识到这个问题?
根据体系结构的不同,还可以看到CPU用户空间CPU利用率较低,但由于在内核空间networkingIO例程内等待队列阻塞的进程导致负载较高。 如果你正在运行一个线程池系统,很多时候你的请求被拒绝或者CPU使用率很低,IO等待计数器将会很高。
有时创build额外的线程/工作人员可以暂时缓解问题,直到您的系统达到另一个临界质量。
说实话,看起来很像你在慢速NFS服务器时遇到的情况。
如果您使用的是Apache,那么在查看服务器状态页面时,典型的症状是处于“W”状态的很多连接。
这不是一个* nix工具,但我发现与Wireshark或Wildpackets结合使用托pipe交换机端口镜像非常有用。 使用filter可以比较快速运行的类似事务的速度。