Узкое место MySQL/веб-сервера

Узкое место MySQL/веб-сервера

Я пытаюсь определить узкое место MySQL/веб-сервера.

У меня есть три сервера. Веб-сервер, на котором запущен Nginx, удаленный сервер MySQL с моей базой данных Wordpress и еще один удаленный сервер MySQL, на котором хранятся наши данные.

Узкое место, которое я пытаюсь найти, находится между моим вторым сервером MySQL, на котором хранятся наши данные, и моим веб-сервером. У нас есть страница с тремя DataTables (три отдельных запроса). Она загружается очень медленно, если загружает все. Иногда я получаю ошибку тайм-аута шлюза.

Я не думаю, что проблема в самих запросах. По данным DataGrip все три в среднем от 200 до 500 мс. В настоящее время запросы не индексируются, так как мне сказали, что плагин не может использовать преимущества индексов, но я могу попробовать в любом случае.

Аппаратное обеспечение и настройка:

Мой сервер MySQL — AWS R6G.Large, 2 ядра и 16 ГБ оперативной памяти, SSD на 150 IOPS и пропускная способность 128 МБ. innodb_page_size — 32, buffer_pool_size — 11000 МБ, innodb_buffer_pool_instances — 10, а innodb_log_file_size — 1 ГБ. Веб-сервер — AWS C6G.Xlarge, 4 ядра и 8 ГБ оперативной памяти, SSD на 150 IOPS и пропускная способность 128 МБ. Использует FPM и Opcache.

Я пробовал осуществлять мониторинг с помощью TOP на обоих серверах, но, честно говоря, я не уверен, что у меня достаточно знаний, чтобы правильно использовать эту информацию.

Я бы очень хотел определить, это аппаратное или программное обеспечение, и если это аппаратное обеспечение, есть ли способ изолировать? Я не против увеличения аппаратного обеспечения, если это действительно проблема.

Я не уверен, разрешено ли это на Stack / ServerFault, но я думаю, что будет проще узнать, что происходит, если я запишу свой экран с запущенным TOP на обоих серверах. Я добавил видео на свой публичный Google Drive. На видео есть и мой сервер MySQL (вверху), и веб-сервер (Nginx, внизу). Я загрузил страницу (3-секундная отметка на видео) и записал результат. Видео длится 1:05, то есть столько времени потребовалось, чтобы появилась последняя таблица. Видео было записано, когда мой сайт находился на обслуживании, поэтому никакой другой IP-адрес или трафик не мог достичь ни одного из серверов.

Моя ссылка на Google Диск:

https://drive.google.com/drive/folders/1NtdE1Z4875i1Xx2Wy2EXGgknt9yuY1IN?usp=sharing

Надеюсь, кто-нибудь сможет помочь.

Эйми

Связанный контент