Нужен Ваш совет по оптимизации нагрузки!

12
syrpo
На сайте с 20.03.2009
Offline
104
1572

Здравствуйте, друзья.

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

Суть такая:

Мы сделали приложения для соц. сети ВКонтакте (позже планировали размещение и в других соц. Сетях)

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

Сейчас вопрос развития приложения уперся в оптимизацию нагрузки, т.к. при большем количестве участников сайт лагает или просто-напросто падает.

В качестве хостинга выбор упал на vds 64.com (раньше работали с ними, поэтому и решили попробовать хоститься тут)

Выбрали гибридный VDS сервер:

8 ядерный Opteron (2400/2600) 2.2 Ghz

16гб. RAM

120 гб HDD

Это почти максимальная конфигурация гибридного сервера (еще можно поставить 12 ядерный проц. и оперативку до 16 гигов).

В качестве софта:

CentOS 6.3

Nginx + php-fpm

MySQL 5.5.41-37.0 - Percona Server (GPL), Release 37.0, Revision 727

После долгих копаний в конфигах удалось добиться нормальной работы приложения, НО есть одна проблема – непонятно из-за чего в течение дня могут возникать «скачки», во время которых приложение подвисает. В панеле SimpleHM хостера есть раздел «Графики ресурсов», если посмотреть на этот график, то можно увидеть скачки процессора. Причем «прыгает» CPU-Sys

При этом, если смотреть по команде top - процессор особо не нагружен (15-40%) и свободной оперативки вполне достаточно (около 6 гигов постоянно).

Как мы поняли, раньше такая проблема была из-за большого количества соединений c TIME_WAIT при использовании nginx + apache, а после перехода на nginx + php-fpm с TIME_WAIT все стало нормально, но подвисания остались. Судя по логам проблема в настройках php-fpm

Часто видим такое:

[11-Mar-2015 15:24:12] WARNING: [pool www] server reached pm.max_children setting (600), consider raising it

[11-Mar-2015 17:09:05] WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 0 idle, and 70 total children

Я уже поставил pm.max_children =600, но сколько не ставь, этого значения не хвататет (изначально вообще было 100)

В связи с вышесказанным есть несколько глобальных вопросов:

1) Что Вы думаете о VDS вообще? Как на нем распределяются ресурсы, не может ли быть подвоха со стороны хостера? Нормальное ли это решение для проекта, или нужно смотреть в сторону выделенного сервера?

2) Есть ли у Вас опыт работы именно с VDS 64.com – что можете сказать? Или посоветуйте другого хостера.

3) Хотелось бы получить рекомендации по настройкам серверного софта. В частности интересуют параметры nginx и php-fmp. Ну и общие рекомендации по настройке сервера.

Понимаю, что «вслепую» сказать что-то дельное будет тяжело – готов предоставить дополнительную информацию (конфиги и прочее). Также готов материально отблагодарить человека, давшего хороший совет.

Andreyka
На сайте с 19.02.2005
Offline
822
#1

1. Нет, это плохое решение. Вам нужно горизонтальное масштабирование.

3. Советую найти 20% кода и запросов, которые создают 80% нагрузки. Могу помочь за материальное вознаграждение.

Не стоит плодить сущности без необходимости
[umka]
На сайте с 25.05.2008
Offline
456
#2
Andreyka:
1. Нет, это плохое решение. Вам нужно горизонтальное масштабирование.
3. Советую найти 20% кода и запросов, которые создают 80% нагрузки. Могу помочь за материальное вознаграждение.

Помощь за материальное любое вознаграждение — в другом разделе. Не забываем об этом.

Лог в помощь!
LEOnidUKG
На сайте с 25.11.2006
Offline
1726
#3
Выбрали гибридный VDS сервер:

А почему не полноценный сервер?! Зачем VDS с такими параметрами? Ну это так просто вопрос.

Проверьте запросы к mysql в реальном режиме. Что она выполняет? Что выполняют эти запросы с TIME_WAIT в логах?

Проблема у вас скорее всего в вашем проекте, пока мы не знаем, что у вас там внутри. Без этого изучения никакие настройки не помогут.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Андрей
На сайте с 30.09.2009
Offline
482
#4

Возьмите выделенный сервер на SSD. Объем позволяет.

Кроме изменения max_children возможно необходимо также менять и start_servers, min/max_spare_servers.

EuroHoster.org ( https://eurohoster.org/ru/ ) - территория быстрых серверов. Выделенные серверы, VPS, SSL, домены и VPN.
syrpo
На сайте с 20.03.2009
Offline
104
#5
LEOnidUKG:
А почему не полноценный сервер?! Зачем VDS с такими параметрами? Ну это так просто вопрос.

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

LEOnidUKG
На сайте с 25.11.2006
Offline
1726
#6
syrpo:
Выделенный сервер придется администрировать полностью самим, никакой поддержки со стороны хостера. А мы не особо сильны в вопросах администрирования

А вам кто-то на халяву VDS администрирует? Или что вы имеете ввиду под администрированием? Вот вижу никто нагрузку не оптимизирует на сервере, а это могли бы делать администраторы.

Андрей
На сайте с 30.09.2009
Offline
482
#7
syrpo:
Выделенный сервер придется администрировать полностью самим, никакой поддержки со стороны хостера. А мы не особо сильны в вопросах администрирования

Вы неправы!

Как выделенный так и виртуальный сервер может быть с администрированием или без.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#8
syrpo:
Судя по логам проблема в настройках php-fpm

А покажите конфига php-fpm и nginx. Сколько у вас онлайн пользователей, сколько запросов в секунду?

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
syrpo
На сайте с 20.03.2009
Offline
104
#9
LEOnidUKG:
А вам кто-то на халяву VDS администрирует? Или что вы имеете ввиду под администрированием? Вот вижу никто нагрузку не оптимизирует на сервере, а это могли бы делать администраторы.

Всё делаем сами, время от времени приглашаем специалистов, но на постонке администратора нету.

Всё-таки служба поддержки VDS-хостера как-никак но помогает.

WapGraf:
Вы неправы!
Как выделенный так и виртуальный сервер может быть с администрированием или без.

Можно пример хорошего хостера выделенного сервера с поддержкой?

Оптимизайка:
А покажите конфига php-fpm и nginx. Сколько у вас онлайн пользователей, сколько запросов в секунду?

Онлайн доходит до 1500. Но это только начало, не можем пока дальше развиваться, пока сервер в таком состоянии.

[ATTACH]141339[/ATTACH]

unk 141339.doc
LEOnidUKG
На сайте с 25.11.2006
Offline
1726
#10
Всё-таки служба поддержки VDS-хостера как-никак но помогает.

Вы просто путаете понятия.

Я лично рекомендую вот этих парней: /ru/forum/495861

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий