公司有4台Web服务器,使用了Windows Server2008 R2中的网路负载平衡(NLB)功能。
近期查看其IIS日志,发现其中有一台机器访问量是其他几台机器的几十倍。
使用Log Parser2.2(参看http://blogs.msdn.com/b/scott_hanselman/archive/2011/10/26/logparser-gui-web.aspx), 将访问量突出的那台机器的IIS LOG按访问IP统计,结果写在csv文件中:
logparser.exe -i:IISW3C "SELECT c-ip, count(c-ip) FROM 'F:\Users\cdwolfling\Desktop\host1918_u_ex141103.log' GROUP BY c-ip" -o:CSV >c:\iislog\host1918.csv
结果再汇入到MSSQL, 按Qty排序,结果如下:
可见, 有3个IP的访问量异常, 导致此web server的总体访问量偏高。 那这3个IP的访问, 不会分流到同在NLB配置中的其他3台web server?
带着这个疑问, 查询了Windows Server2008 R2中的网路负载平衡(NLB)的配置说明, 原来当初设置NLB时, 使用了如下图的“单一”选项。 这样, 同一个IP访问NLB集群时,永远会指到其第一次访问的那台web server.