Зависает сервер при большом количестве обращений?

Мощный сервер.
Apache, PHP, MySQL.

Проект написан на Yii2. Есть файл, который работает с базой данных. Назовем его api.php

Так вот, я хочу обращаться к нему до 1000 раз в секунду. Но сервер зависает и перестает отвечать. Как работают API-системы других сервисов? К ним же обращаются до 100500 раз в секунду.

P.S. CPU нагружается на 16%, ОЗУ на 15%

Думаю, что дело с жестким диском. Диск SSD.

7fde3b607abd41cbb8f8ebce2088d127.png
  • Вопрос задан
  • 1797 просмотров
Пригласить эксперта
Ответы на вопрос 4
@werw
Ну насчет 100500 это вы хватили. Такие масштабы - другими мозгами реализуются.

Но, к примеру, мои сервера выдерживают и 10 000 в секунду, и даже с запасом, как показывают тесты.
Ничего там умного нет внутри.

Для начала провести замеры и найти самое узкое место.
Как показывает практике не нужно все переписывать, достаточно побороть 2-3 самых узких места.

У вас неправильна сама постановка задачи: "сервер зависает и перестает...."
Ну ставьте записи в лог, анализируйте.
Делайте замеры специальные, ищите узкое место.

Дело не в MySQL, Apache, Yii - они вносят не столь серьезных вклад тормозов.

Дело прежде всего в вашем коде - а кто его знает кроме вас.
Может, вы попросту совершили типичный глупый косяк начинающего программера:
https://habrahabr.ru/post/113298/
Ответ написан
Комментировать
@AntonMZ
Буду краток. Linux/Windows Administrator.
Сервер зависает при обращении к этому файлу? Смотрели нагрузку сервера в момент обращения к файлу? Что растет?, apache/mysql/php... мало входной информации. Может у Вас кривой запрос mysql или куча медленных запросов, может памяти не хватает, может процессора... Что есть "Мощный сервер"? в Вашем понимании?
Ответ написан
@shuraosipov
Попробуйте поставить nginx перед apache.
По ссылке вы найдете performance comparison для nginx и apache - wiki.dreamhost.com/Web_Server_Performance_Comparison
Ответ написан
@antonsr98
Системный Администратор
а как обнаружить такие узкие места?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы