У меня есть приложение с множеством разных запросов повсюду.
Я получаю всплески использования ЦП из-за mysqld, который максимально загружает мой сервер, и я не уверен, какой из многих запросов делает это.
Есть ли способ регистрировать / просматривать все запросы, поступающие с уровня unix? А может быть, посмотреть, какие запросы пережевывают все ресурсы?
Существует тип запроса, называемый «медленным запросом», который очень похож на звучание: запросы, выполнение которых занимает много времени. В некоторых случаях эти запросы являются законно длинными, но в подавляющем большинстве случаев медленный запрос указывает на плохо написанный код или нехватку ресурсов на сервере, из-за чего MySQL становится привязанным к вводу-выводу.
В любом случае, если вы видите всплески mysql, тогда очень и очень хорошо начать с определения ваших медленных запросов.
Я не достаточно гуру MySQL, чтобы снять это с головы, но вкратце вы хотите:
Я даже не собираюсь пытаться вытаскивать инструкции из головы, но вы можете начать с этой ссылки:
http://www.ducea.com/2006/11/06/identifying-mysql-slow-queries/
И если срок действия этой ссылки истекает или становится бесполезным по иным причинам, ищите фразу вроде «регистрировать медленные запросы mysql».
Как только вы их зарегистрируете, вы сможете приступить к их сортировке.