0

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

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

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

简单来说,测量我的服务器带宽使用的常规方法是什么?

4

2 回答 2

1

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

于 2009-06-11T15:36:57.933 回答
1

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

执行此操作的方法可能包括 SNMP(尝试 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 日志文档

于 2009-06-18T10:39:34.247 回答