Я измерил максимальное количество случаев, которые веб-сервер (Apache) может обрабатывать одновременно, используя арендованный сервер VPS.
Дата публикации:31 декабря 2020 года.
INFOMARTION > Я измерил максимальное количество случаев, которые веб-сервер (Apache) может обрабатывать одновременно, используя арендованный сервер VPS.
Обзор.
Я измерил максимальное количество случаев, которые веб-сервер (Apache) может обрабатывать одновременно, и хотел бы написать о результатах. Нам было интересно узнать максимальное количество запросов, которое можно обслужить, поэтому мы провели опрос. Используйте это как справочник для выбора технических характеристик VPS-сервера.
В этот раз измерения проводились только на WEB (Apache), но, пожалуйста, обратитесь к статье ниже для измерений на WEB/AP серверах (Apache и Tomcat).
Оглавление
1. измерение
1-1. Измерительная среда
Ниже приведены условия, в которых будут проводиться измерения.
■Информация о сервере аренды
CPU | 2core |
---|---|
memory | 1GB |
SSD | 50GB |
■Информация о сервере
OS | CentOS 7.4 64bit |
---|---|
Веб-сервер | Apache HTTP Server 2.4.41 |
1-2. Метод измерения
Я хотел бы измерить это с помощью JMeter. JMeter - это инструмент для измерения нагрузки, который работает на языке Java. Инструмент позволяет одновременно бросать большое количество запросов. Мы хотим постепенно увеличивать количество одновременных запросов с помощью JMeter и повышать нагрузку до тех пор, пока обработка не перестанет справляться.
К специфическим условиям относятся.
- интервал запроса・・・5 сек.
- Количество одновременных запросов・・・10 случаев.(Измерения постепенно увеличивались на 10 случаев в каждом.)
- Время измерения・・・60 секунд.
Время измерения - "60 секунд", а интервал запроса - "5 секунд", поэтому вы хотите получить доступ к системе 12 раз (60÷5).
1-3. результат измерения
В конце концов, многих интересует вывод о том, какие спецификации и сколько может выдержать сервер, поэтому я хотел бы сначала изложить вывод.
CPU:2core memory:1GB SSD:50GB | Одновременно может быть обработано до 120 запросов. |
---|
Результаты этого измерения показали вышесказанное. Из приведенных выше результатов можно сделать следующие выводы. Постарайтесь использовать это в качестве критерия при выборе технических характеристик сервера.
CPU:1core memory:512MB SSD:25GB | Одновременно может быть обработано до 60 запросов. |
---|---|
CPU:2core memory:1GB SSD:50GB | Одновременно может быть обработано до 120 запросов. |
CPU:3core memory:2GB SSD:100GB | Одновременно может быть обработано до 240 запросов. |
Даже со спецификациями "процессор: 1 ядро", "память: 512 МБ" и "SSD: 25 ГБ", было обнаружено, что система из примерно 60 человек может работать без проблем.
2. Подробная информация о результатах измерений
Мы описали результаты измерений ранее, но если вас интересует, какие результаты мы описали, пожалуйста, ознакомьтесь также с подробностями результатов измерений, которые будут описаны в будущем.
2-1. измерения WEB-сервера (Apache)
Повторные запросы были брошены на страницы, созданные в HTML. Это простая страница, не требующая обработки PHP или сложного JavaScript.
Измерения показали следующие результаты.
- Для 10 одновременных запросов⇒OK
- Для 20 одновременных запросов⇒OK
- Для 30 одновременных запросов⇒OK
- Для 40 одновременных запросов⇒OK
- Для 50 одновременных запросов⇒OK
- Для 60 одновременных запросов⇒OK
- Для 70 одновременных запросов⇒OK
- Для 80 одновременных запросов⇒OK
- Для 90 одновременных запросов⇒OK
- Для 100 одновременных запросов⇒OK
- 110 одновременных запросов⇒OK
- Для 120 одновременных запросов⇒OK
- Для 130 одновременных запросов⇒NG
Ошибка произошла в 130-м случае. Причиной была ошибка соединения с Apache. Состояние сервера в это время было следующим.
- Загрузка процессора・・・26%
- скорость использования памяти・・・100%
Узким местом было полное отсутствие памяти.
Для тех, кто не очень в курсе, конфигурация многопроцессорного модуля Apache (MPM) выглядит следующим образом. MPM просто объясняется как настройка того, сколько Apache разрешено обрабатывать параллельно.
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 250
MaxConnectionsPerChild 0
</IfModule>
Для параметра "MaxRequestWorkers" интерес представляет значение "250". Это настройка для максимального количества дел, которые Apache может обрабатывать одновременно. '250', поэтому 250 случаев могут быть обработаны максимально параллельно, но если посмотреть на использование памяти, то на каждый случай используется около 8 МБ памяти.
Казалось, что он использует 960 МБ памяти (8M x 120 процессов), а значение настройки было '250', но казалось, что невозможно создать более '120' процессов.
※Память сервера почти достигла своего предела в 1 Гб.
При реальной работе сервера, если PHP и Java также включены, предел составляет около 100 случаев, а если есть место, то 80 случаев могут обрабатываться одновременно параллельно.
Когда установлен и запущен только Apache, с характеристиками "CPU: 2 ядра, память: 1GB, SSD: 50GB", количество одновременных обращений "120" оказалось предельным.
2-2. рассмотрение
Отсюда следует, что поскольку память является узким местом, то при изменении памяти количество процессов, которые могут обрабатываться одновременно, увеличится.
【Присутствуют.(memory1GB)】
- memory:1GB
- Количество потоков Apache:120 случаев
- Потребление памяти на поток в Apache.:8MB
- Потребление памяти Apache:960MB(120 случаев×8MB)
【после изменения(memory2GB)】
- memory:2GB
- Количество потоков Apache:240 случаев.
- Потребление памяти на поток в Apache.:8MB
- Потребление памяти Apache:1920MB(240 случаев.×8MB)
Если увеличить объем памяти до 2 Гб, то можно удвоить количество дел до примерно 240 одновременно. Если увеличить память до 3 ГБ, то, кажется, можно будет выполнять больше одновременной обработки, но "MaxRequestWorkers (максимальное количество одновременно обрабатываемых дел)" в MPM Apache составляет "250", поэтому при дальнейшем увеличении памяти потребуется настройка и здесь. И наоборот, если память уменьшится вдвое, это будет выглядеть следующим образом.
【после изменения(memory512GB)】
- memory:512GB
- Количество потоков Apache:60 случаев.
- Потребление памяти на поток в Apache.:8MB
- Потребление памяти Apache:480MB(60 случаев.×8MB)
3. резюме
Мы измерили максимальное количество случаев, которые веб-сервер (Apache) может обрабатывать одновременно. Было установлено, что система из примерно 60 человек может без проблем работать с "CPU: 1core", "memory: 512MB" и "SSD: 25GB".
Исследование основано на предположении, что никакое другое программное обеспечение не работает с предельной производительностью. Рекомендуется выбирать спецификацию с небольшим запасом, поскольку это предельная величина.
Спасибо, что досмотрели до конца.
■INFORMATION
Пожалуйста, нажмите здесь, чтобы перейти на верхнюю страницу ИНФОРМАЦИЯ.
■PROFILE
Пожалуйста, нажмите здесь для получения профиля.
■Контактная информация.
Для получения информации о статье, пожалуйста, свяжитесь с нами здесь.