Как я могу измерить пропускную способность моего (SAMP) сервера?

Я использую сервер Solaris для обслуживания PHP через Apache. Какие инструменты я могу использовать для измерения пропускной способности, которую в настоящее время использует мой сервер? Я использую Google Analytics для измерения трафика, но, насколько я знаю, он игнорирует размер файла. У меня есть приблизительное представление о среднем размере страниц, которые я обслуживаю, и я могу сделать предварительный расчет использования пропускной способности, умножив количество просмотров страниц (из Google) на средний размер страницы, но я ищу решение более строгое и точное.

Кроме того, я не пытаюсь что-либо регулировать или вводить ограничения на использование или что-то в этом роде. Я просто хотел бы измерить использование полосы пропускания, поэтому я знаю, что это такое.

Примером того, что мне нужно, является счетчик использования, который Slicehost предоставляет своим пользователям на своем веб-сайте администратора. Они сообщают мне (для другого сайта, которым я управляю), сколько пропускной способности я использовал каждый месяц, а также делят использование на загрузку и скачивание. Итак, кажется, что эти данные можно измерить, и я хотел бы иметь возможность сделать это сам.

Проще говоря, каков обычный метод измерения пропускной способности моего сервера?


person enkrates    schedule 09.06.2009    source источник
comment
Попробуйте serverfault.com; вы, вероятно, получите лучший ответ там.   -  person Michael Petrotta    schedule 10.06.2009


Ответы (2)


Это зависит от вашей настройки. Если у вас есть (почти) выделенный физический интерфейс для вашего веб-сервера, вы можете собирать статистику прямо из интерфейса.

Методы для этого могут включать 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.

person Tiemen    schedule 18.06.2009

Я только предполагаю, но я думаю, что обычный подход заключается в использовании тех же инструментов и служб, которые используются для предоставления функций QoS. QoS == Качество обслуживания. Где-то на самом сервере или на сетевых маршрутизаторах вокруг сервера будут включены службы, которые измеряют размер пакетов, исходящих от вашего сервера. Эти же службы можно использовать для ограничения пропускной способности для клиентов, которым необходимо применять такие ограничения. Я не слышал о приложении, которое можно запустить на вашем сервере и которое измеряет пропускную способность. Я думаю, что такое приложение можно создать, но это не обычный способ сбора таких измерений. Я подозреваю, что этот ответ не будет специфичным для Solaris.

person Chris Quenelle    schedule 11.06.2009