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


39

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

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

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

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

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

Ответы:


44

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

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

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

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

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


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

«Если вы предполагаете, что средняя продолжительность сеанса просмотра вашего сайта составляет 10 страниц, то вы можете поддерживать 25 000 уникальных единиц / час» ... при условии, что каждый уникальный сервер отправляет запрос каждую секунду во время сеанса. Если посетителю нужно подумать перед следующим кликом / запросом - например, за 5 секунд - вы сможете поддержать больше посетителей в параллельных сеансах.
Йохем Шуленклоппер

Я полностью согласен с «преждевременной оптимизацией» с точки зрения кода. Но выбор некорректного дизайна в целом является корнем всего зла. Ничто не может преодолеть недостатки дизайна, кроме переписать.
Джефф Фишер

5

В прошлом я использовал 2 инструмента для наблюдения за производительностью моих серверов apache.

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

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


1

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

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


Я хотел бы быть готовым к небольшому потоку запросов, например, очень быстрая страница может обрабатывать около 110 запросов в секунду. Пока сервер может обрабатывать 2900 оборотов в секунду на пустой странице.
Олафур Вааге

0

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

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


Не особенно беспокоятся о цифрах, если 70 рпс достаточно.
Олафур Вааге

0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.