如何衡量我的(SAMP)服务器的带宽使用情况?

时间:2009-06-09 22:40:52

标签: unix solaris bandwidth measurement

我正在运行Solaris服务器以通过Apache提供PHP服务。我可以使用哪些工具来衡量我的服务器当前使用的带宽?我使用Google分析来衡量流量,但据我所知,它会忽略文件大小。我粗略了解我所服务的页面的平均大小,并且可以通过将页面浏览量(来自Google)乘以平均页面大小来对我的带宽使用情况进行背面计算,但我正在寻找一个更加严谨和准确的解决方案。

此外,我不是想扼杀任何东西,或实施使用上限或类似的东西。我只想测量带宽使用情况,所以我知道它是什么。

我所追求的一个例子是Slicehost在其管理员网站中为其用户提供的使用率计。他们告诉我(对于我运行的另一个站点)我每个月使用了多少带宽,并且还分配了上传和下载的使用量。因此,似乎可以测量这些数据,我希望能够自己完成。

简单地说,测量服务器带宽使用的传统方法是什么?

2 个答案:

答案 0 :(得分:1)

我只是猜测,但我认为通常的方法是使用用于提供QoS功能的相同工具和服务。 QoS ==服务质量。在服务器本身的某个位置或服务器周围的网络路由器上,将启用服务来测量流出服务器的数据包的大小。这些相同的服务可用于限制需要强制执行此类限制的客户的带宽量。我没有听说过可以在您的服务器上运行测量带宽的应用程序。我认为应该可以创建这样的应用程序,但这不是收集此类测量的常用方法。我怀疑这个答案最终不是特定于solaris的。

答案 1 :(得分:1)

这取决于您的设置。如果您的Web服务器具有(近乎)专用物理接口,则可以直接从界面收集统计信息。

执行此操作的方法可能包括SNMP(try net-snmp)或“ifconfig”,结合RRDTool或简单记录到平面文件。

另一种方法是使用Apache日志,它可能如下所示:

192.168.101.155 - - [17/Apr/2005:20:39:19 -0700] "GET / HTTP/1.1" 200 1456
192.168.101.155 - - [17/Apr/2005:20:39:19 -0700] "GET /apache_pb.gif HTTP/1.1" 200 2326
192.168.101.155 - - [17/Apr/2005:20:39:19 -0700] "GET /favicon.ico HTTP/1.1" 404 303
192.168.101.155 - - [17/Apr/2005:20:39:42 -0700] "GET /index.html.ca HTTP/1.1" 200 1663
192.168.101.155 - - [17/Apr/2005:20:39:42 -0700] "GET /apache_pb.gif HTTP/1.1" 304 -
192.168.101.155 - - [17/Apr/2005:20:39:43 -0700] "GET /favicon.ico HTTP/1.1" 404 303
192.168.101.155 - - [17/Apr/2005:20:40:01 -0700] "GET /apache_pb.gif HTTP/1.1" 304 -
192.168.101.155 - - [17/Apr/2005:20:40:09 -0700] "GET /apache_pb.gift HTTP/1.1" 404 306
192.168.101.155 - - [17/Apr/2005:20:40:09 -0700] "GET /favicon.ico HTTP/1.1" 404 303

最后一个数字是传输的字节数,不包括标题(!)。请参阅Apache Log Docs