Diversia
@Diversia

Почему при переносе сайта на 2 сервера снизилась производительность БД?

Здравствуйте!

Сайт порядка 300000 просмотров сутки (55000 пользователей в сутки), в онлайн в пике 900+ пользователей. Сайт размещен на VPS (детали ниже), до 800+ справлялся отлично, изменения функционала не было. VPS Стал не справляться с посещаемостью (это и понятно). Посоветовали под БД взять отдельный VPS, остальное оставить на старом. Но при переносе БД на дополнительный сервер замер производительности по показателям Панели производительности по БД стал хуже:

Было:
База данных MySQL (запись) 6 822
База данных MySQL (чтение) 15 262
База данных MySQL (изменение) 2 503

Стало:
База данных MySQL (запись) 1549
База данных MySQL (чтение) 1602
База данных MySQL (изменение) 1582

В настройках был указан $DBHost = (и в host .settings.php). У VPS была настроена mariaBD 10 версии с настройками от БД Bitrix ENV последней версии.

-Старый VPS-
Centos7 ОС
1.5 ГБ Память
2x1 Ггц Процессор
20 Гб SSD
Bitrix Env посл версии

-Новый VPS под БД-
Centos7 ОС (KVM)
2 ГБ Память
2 ядра 2,2Гц
40 ГБ SSD
MariaDB 10

Сервера в одном ДЦ.

Пожалуйста, посоветуйте что делать.
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 1
1. естественно замедлил, даже обращение через локальный домен и localhost разница есть, посколкьу задействуется DNS сервер и ETH0
а уж сервер расположеный я так пониимаю не в том же датацентре, да еще и не соедененые физически шнурком, дают просадку.
2. Покажите конфиши mysql
2. нужно смотреть конфиги сервера можно их конечно немного подкрутить, но есть очерь простые средства.
Например перейти нановые процессоры I9 ну и ксеоны их аналоги.
Вот пример на битрикс вм
База данных MySQL (запись)	12 694	5 600	количество запросов на запись в секунду
База данных MySQL (чтение)	81 827	7 800	количество запросов на чтение в секунду
База данных MySQL (изменение)	23 374	5 800	количество запросов на изменение в секунду

Думаю комментарий излишен.
3. что можно сделать
innodb_flush_log_at_trx_commit = 2 заменить на innodb_flush_log_at_trx_commit = 0
так же оптимизировать количество подключений и тд, но это уже нужно анализировать сайт.
так же нужно поработать с кешем на самом сайте.
оптимизировать изображения, включить объедененый кеш css js и тд.
Обязательно задрать php до максимальной версии, в идеале 7.3 да вм по умолчанию тянет 7.1
В общем там целый пласт работ что можно сделать.
Но в вашем случае у вас медленный впс и самое разумное это поменять его.
вот это порвет ваш сервер раз в 15
https://ru.hetzner.com/hosting/produkte_rootserver...
12 ядер по 5 GHz
https://ru.hetzner.com/hosting/produkte_rootserver...
тоже более чем достаточно 8ядер
цены -20%ндс поскольку в германии их нет.
В россии пока только только появляются процессоры на 2 покаления слабее, а для mysql важна скорость работы на одно ядро а не их количество, так что если вы возьмете 128 ядерник с 3 ghz то и получите машину соппоставимую с плохой офисной тачкой ( пардон 128 ) плохими офисными тачками.
Ответ написан
Ваш ответ на вопрос

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

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