Задать вопрос

Сервер под большую нагрузку, безотказная работа?

Всем привет!
Хочу задать такой интересный вопрос на который уже долго не могу найти ответ.
В администрировании мало что шарю поэтому прошу помощи.

Есть сервер
характеристики:
CPU: 2xXeon L5520
RAM: 24Gb
PORT: 1Gb / s
php: 7.2
Также используется MySQL
Веб-сервер Apache
ОС: Debian 9.x

Вопрос такой, как настроить сервер чтобы он выдерживал одновременный онлайн 1000 человек +
Загонял тестовый трафик сервер начинал подвисать когда было 470 человек, а падал когда было 600 человек.
Дайте какие-то советы для того чтобы сервер работал стабильно 24/7 под нагрузками, заранее спасибо!
  • Вопрос задан
  • 590 просмотров
Подписаться 3 Простой 4 комментария
Решения вопроса 2
Sanes
@Sanes
Обратиться к компетентым специалистам. Как еще...
Ответ написан
Комментировать
В первую очередь все зависит от движка, качества сборки, качества кеширования, и множества других мелких факторов.
В среднем на проект удается увеличить его производительность раза в 2-10 в зависимости от проекта.
В любом случае нужно смотреть на проект.
Правильно оптимизированные настройки хостинга могут дать сами по себе более чем ощутимый прирост, не говоря уже о стабильности тяжелых хитов под нагрузкой.
НО если акцентировать только на железо то есть пара пунктов, придерживаясь которых можно болие или менее иметь хороший результат.
1. частота ядра лучше чем количество ядер.
2. SSD - это даже не обсуждается, однако NVme - это то на что вам нужно смотреть.
3. Покажите проект.
Что касается представления php Nginx+php-fmp однако мы не часто используем такой вариант
Как правило все -же более классический nginx+apache+mod_php или nginx+apache+php-fmp.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
Nginx phpfpm
Ну и придется код переписать чтобы оно держало нагрузку
Ответ написан
Комментировать
@stratosmi
Есть сервер
характеристики:
CPU: 2xXeon L5520
RAM: 24Gb
PORT: 1Gb / s
php: 7.2
Также используется MySQL
Веб-сервер Apache
ОС: Debian 9.x

Вопрос такой, как настроить сервер чтобы он выдерживал одновременный онлайн 1000 человек +
Загонял тестовый трафик сервер начинал подвисать когда было 470 человек, а падал когда было 600 человек.
Дайте какие-то советы для того чтобы сервер работал стабильно 24/7 под нагрузками, заранее спасибо!


Просто обратиться к разработчику.
Но к квалифицированному.

Пример из жизни - есть сервер:

виртуалка, 2 ядра, 512 мегабайтов оперативной памяти.
Держит 10 000 одновременных подключений.

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

Лучше - разработчик.
Но можно и админу.

Если вы админ и не разработчик и не можете залезть внутрь ПО, то хотя бы так: задача админа - провести профилирование - то есть выяснить где именно узкое место: не хватает процессора или памяти или скорости диска.

Такое, что "просто сервер тормозит" - это не ответ.
Всегда есть какое-то вполне определенное узкое место.

Вангую - работа с БД.
Как правило затык в говнософте, которое не корректно работает с СУБД.
А у БД, в свою очередь, самое узкое место - это диски.

Из говнокода в Highload. Используем ТАРАНtool. 5 р...
Ответ написан
Комментировать
@Fafhrd
Либо обратиться к специалисту, но настоящему, а не псевдо, либо проводить аудит самостоятельно и отвечать на вопросы:

- какой компонент системы(база, пхп, веб-сервнр) больше всего тормозит при 470 юзерах
- что с этим сделать, чтоб не тормозило
далее исправлять

и так по кругу, пока не станет хорошо
Ответ написан
Комментировать
angrySCV
@angrySCV
machine learning, programming, startuping
у тебя есть несколько вариантов, первый ускорять обработку отдельного запроса, смотреть где у него бутылочное горлышко и тд (перейти с интерпретируемых языков на компилируемые, часть данных уже держать в оперативной памяти а не читать их откуда-то), это может поднять производительность в десятки а то и сотни раз.
второй - это выстраивать параллелизацию обработки запросов, менять схему обработки этих запросов с синхронных на асинхронные, складывая отдельные тяжелые задачи в отдельную очередь которая бы НЕ блокировала обработку простых запросов пользователей (это тоже может поднять производительность в десятки раз)
В любом случае это задача разработчиков твоего сервиса -> просто "настраивать" сервер, особо выхлопа не даст, можешь например увеличивать память, менять диски, вместо 10 ядерного 20 ядерный процессор поставить и вообще никакого прироста не увидеть просто НОЛЬ.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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