it-swarm-ru.tech

Сколько запросов должен обрабатывать мой веб-сервер?

Не вдаваясь в подробности о спецификациях, так как я знаю, что нет реального ответа на это. Но сегодня я выполняю нагрузочное тестирование с помощью команды ab в Apache.

И добрался до количества 70 запросов в секунду (1000 запросов с 100 одновременными пользователями) на странице, которая загружается из 4 разных таблиц БД и выполняет некоторые манипуляции с данными. Так что это довольно тяжелая страница.

Сервер пока не используется ни для чего другого, и нагрузка на него принадлежит только мне, так как он находится в разработке. Но приложение будет ежедневно использоваться многими пользователями.

Но достаточно ли этого? Или я должен даже волноваться (так же, как это заканчивает X запросов в секунду)

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

41
Ólafur Waage

70 запросов в секунду обрабатываются с почасовой скоростью 252 000 страниц в час.

Если вы предполагаете, что средняя продолжительность сеанса просмотра вашего сайта составляет 10 страниц, вы можете поддерживать 25 000 уникальных часов в час.

Вам, вероятно, следует сравнить эти цифры с ожидаемым числом посетителей, которое должно быть доступно у деловых людей.

Многие из сайтов, на которых я работаю, видят около 50% своего ежедневного трафика в пиковый период примерно 3 часа каждый день. Если это относится к вашему сайту (это зависит от типа контента, который вы предоставляете, и аудитории), то вы сможете поддерживать ежедневное уникальное количество посещений около 150 000.

Это довольно хорошие цифры; Я думаю, что вы должны быть в порядке. Сейчас целесообразно изучить кеширование кода операции и настройку базы данных, но помните: преждевременная оптимизация - корень всех зол. Мониторинг сайта, поиск горячих точек и ожидание роста трафика, прежде чем выполнять дорогостоящую оптимизацию для проблемы, которой у вас может не быть.

45
Tim Howland

Я использовал 2 инструмента, чтобы наблюдать за производительностью моих серверов Apache в прошлом.

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

Второй - просто страница состояния сервера Apache ( http: // your_server/server-status? Refresh = 1 ), который позволяет мне видеть состояние каждого соединения, а также сколько свободных соединений доступно в данный момент.

6
Brent

Я бы посоветовал вам беспокоиться, только если вы думаете, что ваше приложение будет очень загружено, когда оно появится. Вероятно ли, что рассматриваемая страница будет сильно затронута? Сильнее? Меньше? Если вы не знаете, я подозреваю, что это вряд ли будет проблемой раньше. Если это ваша самая медленная страница, вы будете знать, где искать, если вам придется оптимизировать систему позже.

Есть также много вещей, которые вы можете сделать, чтобы настроить большинство веб-серверов и механизмов баз данных, чтобы повысить производительность.

1
acrosman

После того, как вы запустите свой сайт, вы также можете посмотреть на mod_top 1 , который в реальном времени покажет текущую нагрузку на Apache. Я не установил его сам, но, похоже, он содержит больше информации и лучшую разбивку нагрузки, чем стандартное состояние сервера Apache.

0
George Hazlewood

В комментарии вы указываете, что ваш сервер может обрабатывать 2900 запросов в секунду на пустой странице. Это говорит о том, что это не сам веб-сервер, а его обработка.

Если вы используете PHP, рассмотрите кеширование кода операции, например APC . Если база данных является узким местом, memcached также поможет вам.

0
ceejayoz