Unix 如何测量我的(SAMP)服务器';用户的带宽使用情况?

Unix 如何测量我的(SAMP)服务器';用户的带宽使用情况?,unix,solaris,bandwidth,measurement,Unix,Solaris,Bandwidth,Measurement,我正在运行一个Solaris服务器,通过Apache为PHP提供服务。我可以使用什么工具来测量服务器当前使用的带宽?我使用谷歌分析来衡量流量,但据我所知,它忽略了文件大小。我对我所服务的页面的平均大小有一个粗略的概念,可以通过(谷歌的)页面浏览量乘以平均页面大小来计算我的带宽使用率,但我正在寻找一个更严格、更精确的解决方案 此外,我并没有试图限制任何东西,或实施使用上限或诸如此类的东西。我只想测量带宽使用情况,这样我就知道它是什么了 我所追求的一个例子是Slicehost在其管理网站中为用户提供

我正在运行一个Solaris服务器,通过Apache为PHP提供服务。我可以使用什么工具来测量服务器当前使用的带宽?我使用谷歌分析来衡量流量,但据我所知,它忽略了文件大小。我对我所服务的页面的平均大小有一个粗略的概念,可以通过(谷歌的)页面浏览量乘以平均页面大小来计算我的带宽使用率,但我正在寻找一个更严格、更精确的解决方案

此外,我并没有试图限制任何东西,或实施使用上限或诸如此类的东西。我只想测量带宽使用情况,这样我就知道它是什么了

我所追求的一个例子是Slicehost在其管理网站中为用户提供的使用量表。他们告诉我(对于我运行的另一个站点),我每个月使用了多少带宽,并划分上传和下载的使用率。所以,看起来这些数据是可以测量的,我希望自己能够做到


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

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

这取决于您的设置。如果您的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

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

尝试serverfault.com;你可能会得到一个更好的答案。