У нас есть журналы Apache за 3 месяца, и нам нужно определить максимальное количество одновременных подключений, которые мы получили.
Я использовал AWStats и не думаю, что он генерирует что-то такое. Есть ли другой инструмент, который предоставит нам такую информацию из журналов?
Вы не можете сделать это с обычными или комбинированными форматами журналов по умолчанию без некоторых допущений. Например, если вы предполагаете, что все ваши ответы занимают 500 мс, тогда вы можете взять количество строк журнала в секунду и разделить его пополам.
Вероятно, проще всего использовать что-то вроде munin или cacti для опроса значений из mod_status. Или вы можете посмотреть вывод netstat для пары десятков образцов в течение следующих нескольких дней, а затем использовать это, чтобы оценить приблизительное соотношение одновременных подключений к трафику для вашего сайта.
Вы можете посмотреть результат netstat -n -t
со временем. Количество подключений ESTABLISHED
на порту 80 - текущее количество одновременных подключений (примерно). Существует ряд инструментов, которые собирают такие данные за вас; мы используем Ganglia, который предоставит вам разнообразную сетевую статистику, если вы используете модуль «tcpconn».
Не то, чтобы я знал - лучшим решением будет опрос netstat или просмотр состояния сервера, однако это не очень удобно для исторических данных.
Если у вас есть только стандартные файлы журналов, то там тоже не так много информации (если только ваш сайт не всегда очень, очень, ОЧЕНЬ медленный), но вы можете хотя бы попытаться вычислить оценку количества одновременных подключений. Вам нужно будет отсортировать файл по% t, а затем просмотреть каждую запись, определяя перекрытие. Это нетривиальный фрагмент кода.
Более простой подход: вы можете просто посмотреть, сколько обращений в час умножить на среднее время ответа, а затем разделить на количество секунд в час. Конечно, это предполагает, что все запросы равномерно распределены, но вы можете определить коэффициент масштабирования (измеряя текущее количество подключений, как описано выше). Но, конечно, если вы записываете только% T (а не% D), округление разрушит любую точность вашей оценки (опять же, если ваш сайт не работает ужасающе медленным).