![Узкое место MySQL/веб-сервера](https://rvso.com/image/768936/%D0%A3%D0%B7%D0%BA%D0%BE%D0%B5%20%D0%BC%D0%B5%D1%81%D1%82%D0%BE%20MySQL%2F%D0%B2%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0.png)
Я пытаюсь определить узкое место 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
Надеюсь, кто-нибудь сможет помочь.
Эйми