Задать вопрос
soulilya
@soulilya
Культурный, утонченный и изысканный.

Как рассчитать нагрузку веб сервера?

Доброго дня.
Никак не могу найти методики расчета нагрузки сервера.
Логи запросов хранятся в базе данных с временной меткой и указанием url запроса.
Необходимо вычислить:
- Максимальное значение запросов в секунду на url
- Среднее значение запросов в секунду на url
за определенный интервал, допустим неделю.
Подскажите пожалуйста формулу расчета?
  • Вопрос задан
  • 133 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@alexalexes
Ну, если все лежит в базе данных, то вопрос глупый.
SQL в руки, и вперед получать статистику:
select max(t1.url_count_per_second) as max_count, -- макс. значение в рассматриваемом периоде
          avg(t1.url_count_per_second) as avg_count -- среднее значение в рассматриваемом периоде
(
select t.log_date, -- нужно смотреть, в каком формате выводится отметка времени, нужно добиться такого формата, чтобы там были секунды
           count(distinct t.url /*тут, возможно, нужно вычленять интересуемый фрагмент url, без "шелухи" из параметров*/) as url_count_per_second
from log_table as t
where t.log_date between  :beg_date and :end_date -- предусмотреть конвертацию значений меток в нужный формат log_date
group by t.log_date -- тут тоже нужен тот формат, который выводится в select
) as t1
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@SunTechnik
В логе, обычно, не фиксируется время обработки url. Есть только момент обращения.

Вы можете посчитать частоту запросов к Вашему серверу в произвольный интервал времени.
Формула простейшая: число запросов разделить на длительность интервала.

Но, если взять интервал очень большой (условно, час и более), то все пики запросов усреднятся.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы