我正在尝试缩小大多数时间性能中等但偶尔会表现不佳的 Web 服务器的可疑列表。我正在分析 sar 收集和汇总的数据。我注意到了一些事情,其中之一就是运行队列中的任务数量很高。
10:15:01 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
10:25:01 AM 2 150 0.05 0.05 0.06 0
10:35:01 AM 4 149 0.08 0.12 0.09 0
10:45:01 AM 6 150 0.13 0.19 0.15 0
10:55:01 AM 1 150 0.08 0.10 0.13 0
11:05:01 AM 4 150 0.20 0.35 0.23 0
11:15:01 AM 3 149 0.02 0.09 0.15 0
11:25:01 AM 7 149 0.04 0.05 0.11 0
11:35:01 AM 4 150 0.14 0.15 0.13 0
11:45:01 AM 6 150 0.27 0.18 0.16 0
11:55:01 AM 5 150 0.08 0.10 0.13 0
12:05:01 PM 3 149 0.35 0.40 0.26 0
12:15:01 PM 19 155 0.02 0.10 0.16 1
12:25:01 PM 2 150 0.00 0.07 0.12 0
12:35:02 PM 3 151 0.58 0.24 0.17 0
12:45:01 PM 8 150 0.02 0.13 0.15 0
12:55:01 PM 6 149 0.81 0.29 0.18 0
01:05:01 PM 3 148 0.00 0.09 0.13 0
01:15:01 PM 7 149 0.00 0.04 0.11 0
我相信这些是10分钟的平均值。
如果平均运行队列长度较低,这是否表明 Web 服务器的运行速度不够快?
答案1
您的平均负载在整个过程中一直保持较低水平。我认为,由于读数之间的延迟如此之大,很难确定多少。高运行队列和相应的高负载表明存在资源问题。我不认为这里的情况是这样的。您如何量化“性能不佳”?
答案2
这更可能是性能不佳的症状(例如,某些项目的每个处理项目的处理时间很长,再加上负载平衡与每个查询所涉及的工作无关,导致负载不平衡到一台服务器上),而不是其原因。