4.5.6.3 SHOW STATUS

Команда SHOW STATUS предоставляет информацию по состоянию сервера (как mysqladmin extended-status). Пример выходных данных приведен ниже (формат и числа могут иметь некоторые отличия):

+--------------------------+------------+
| Variable_name            | Value      |
+--------------------------+------------+
| Aborted_clients          | 0          |
| Aborted_connects         | 0          |
| Bytes_received           | 155372598  |
| Bytes_sent               | 1176560426 |
| Connections              | 30023      |
| Created_tmp_disk_tables  | 0          |
| Created_tmp_tables       | 8340       |
| Created_tmp_files        | 60         |
| Delayed_insert_threads   | 0          |
| Delayed_writes           | 0          |
| Delayed_errors           | 0          |
| Flush_commands           | 1          |
| Handler_delete           | 462604     |
| Handler_read_first       | 105881     |
| Handler_read_key         | 27820558   |
| Handler_read_next        | 390681754  |
| Handler_read_prev        | 6022500    |
| Handler_read_rnd         | 30546748   |
| Handler_read_rnd_next    | 246216530  |
| Handler_update           | 16945404   |
| Handler_write            | 60356676   |
| Key_blocks_used          | 14955      |
| Key_read_requests        | 96854827   |
| Key_reads                | 162040     |
| Key_write_requests       | 7589728    |
| Key_writes               | 3813196    |
| Max_used_connections     | 0          |
| Not_flushed_key_blocks   | 0          |
| Not_flushed_delayed_rows | 0          |
| Open_tables              | 1          |
| Open_files               | 2          |
| Open_streams             | 0          |
| Opened_tables            | 44600      |
| Questions                | 2026873    |
| Select_full_join         | 0          |
| Select_full_range_join   | 0          |
| Select_range             | 99646      |
| Select_range_check       | 0          |
| Select_scan              | 30802      |
| Slave_running            | OFF        |
| Slave_open_temp_tables   | 0          |
| Slow_launch_threads      | 0          |
| Slow_queries             | 0          |
| Sort_merge_passes        | 30         |
| Sort_range               | 500        |
| Sort_rows                | 30296250   |
| Sort_scan                | 4650       |
| Table_locks_immediate    | 1920382    |
| Table_locks_waited       | 0          |
| Threads_cached           | 0          |
| Threads_created          | 30022      |
| Threads_connected        | 1          |
| Threads_running          | 1          |
| Uptime                   | 80380      |
+--------------------------+------------+

Приведенные выше переменные состояния имеют следующие значения:

Переменная Значение
Aborted_clients Количество соединений, отмененных по причине отключения клиента без надлежащего закрытия соединения. See section A.2.9 Коммуникационные ошибки / Оборванные соединения.
Aborted_connects Количество неудачных попыток подсоединения к серверу MySQL. See section A.2.9 Коммуникационные ошибки / Оборванные соединения.
Bytes_received Количество байтов, полученных от всех клиентов.
Bytes_sent Количество байтов, отправленных всем клиентам.
Com_xxx Количество запусков каждой команды xxx.
Connections Количество попыток подсоединения к серверу MySQL.
Created_tmp_tables Количество неявных временных таблиц на диске, созданных во время выполнения операторов.
Created_tmp_tables Количество неявных временных таблиц в памяти, созданных во время выполнения операторов.
Created_tmp_files Количество созданных временных файлов mysqld.
Delayed_insert_threads Количество используемых потоков вставки данных в режиме insert delayed.
Delayed_writes Количество строк, вставленных при помощи команды INSERT DELAYED.
Delayed_errors Количество записанных при помощи команды INSERT DELAYED строк, в которых произошли какие-либо ошибки (возможно, duplicate key).
Flush_commands Количество запущенных команд FLUSH.
Handler_commit Количество внутренних команд COMMIT.
Handler_delete Количество удалений строки из таблицы.
Handler_read_first Количество считываний из индекса первой записи. Если это значение высокое, то, по всей вероятности, сервер осуществляет много полных индексных сканирований, например, SELECT col1 FROM foo, предполагая, что col1 проиндексирован.
Handler_read_key Количество запросов на чтение строки, основанных на ключе. Высокое значение переменной говорит о том, что ваши запросы и таблицы проиндексированы надлежащим образом.
Handler_read_next Количество запросов на чтение следующей строки в порядке расположения ключей. Это значение будет увеличиваться, если производится запрос индексного столбца с ограничением по размеру. Значение также увеличивается во время проведения индексного сканирования.
Handler_read_prev Количество запросов на чтение предыдущей строки в порядке расположения ключей. В большинстве случаев используется для оптимизации ORDER BY ... DESC.
Handler_read_rnd Количество запросов на чтение строки, основанных на фиксированной позиции. Значение будет высоким, если выполняется много запросов, требующих сортировки результатов.
Handler_read_rnd_next Количество запросов на чтение следующей строки из файла данных. Данное значение будет высоким, если производится много сканирований таблиц. Обычно это означает, что ваши таблицы не проиндексированы надлежащим образом или ваши запросы не используют преимущества индексов.
Handler_rollback Количество внутренних команд ROLLBACK.
Handler_update Количество запросов на обновление строки в таблице.
Handler_write Количество запросов на вставку строки в таблицу.
Key_blocks_used Количество используемых блоков в кэше ключей.
Key_read_requests Количество запросов на чтение блока ключей из кэша.
Key_reads Количество физических считываний блока ключей с диска.
Key_write_requests Количество запросов на запись блока ключей в кэш.
Key_writes Количество физических записей блоков ключей на диск.
Max_used_connections Максимальное количество одновременно используемых соединений.
Not_flushed_key_blocks Блоки ключей в кэше ключей, которые были изменены, но еще не записаны на диск.
Not_flushed_delayed_rows Количество строк, стоящих в очереди на запись в запросах INSERT DELAY.
Open_tables Количество открытых таблиц.
Open_files Количество открытых файлов.
Open_streams Количество открытых потоков (в основном используется для журналирования).
Opened_tables Количество открывавшихся таблиц.
Rpl_status Статус отказобезопасной репликации (еще не используется).
Select_full_join Количество соединений без ключей (если это значение равно 0, необходимо внимательно проверить индексы своих таблиц).
Select_full_range_join Количество соединений, где был использован поиск по диапазону в справочной таблице.
Select_range Количество соединений, в которых использовались диапазоны в первой таблице. (Обычно это значение не критично, даже если оно велико)
Select_scan Количество соединений, в которых проводилось первое сканирование первой таблицы.
Select_range_check Количество соединений без ключей, в которых проверка использования ключей производится после каждой строки (если это значение равно 0, необходимо внимательно проверить индексы своих таблиц).
Questions Количество запросов, направленных на сервер.
Slave_open_temp_tables Количество временных таблиц, открытых в настоящий момент потоком подчиненного компьютера.
Slave_running Содержит значение ON, если это подчиненный компьютер, подключенный к головному компьютеру.
Slow_launch_threads Количество потоков, создание которых заняло больше, чем указано в slow_launch_time.
Slow_queries Количество запросов, обработка которых заняла больше времени, чем long_query_time. See section 4.9.5 Журнал медленных запросов.
Sort_merge_passes Количество объединений, осуществленных алгоритмом сортировки. Если это значение велико, следует увеличить sort_buffer.
Sort_range Количество сортировок, которые осуществлялись в диапазонах.
Sort_rows Количество отсортированных строк.
Sort_scan Количество сортировок, осуществленных путем сканирования таблицы.
ssl_xxx Переменные, используемые SSL; еще не реализовано.
Table_locks_immediate Количество запросов на немедленную блокировку таблицы. Доступно начиная с версии 3.23.33.
Table_locks_waited Количество запросов, когда немедленная блокировка не могла быть осуществлена и требовалось время на ожидание. Если это значение велико, и у вас есть проблемы с производительностью, сначала необходимо оптимизировать свои запросы, а затем либо разделить таблицы, либо использовать репликацию. Доступно начиная с версии 3.23.33.
Threads_cached Количество потоков в кэше потоков.
Threads_connected Количество открытых в настоящий момент соединений.
Threads_created Количество потоков, созданных для управления соединениями.
Threads_running Количество не простаивающих потоков.
Uptime Время в секундах, в течение которого сервер находится в работе.

Некоторые примечания к приведенной выше информации:

  • Если значение Opened_tables велико, возможно, что значение переменной table_cache слишком мало.
  • Если значение Key_reads велико, возможно, что значение переменной key_buffer_size слишком мало. Частоту успешных обращений к кэшу можно вычислить при помощи Key_reads/Key_read_requests.
  • Если значение Handler_read_rnd велико, возможно, поступает слишком много запросов, требующих от MySQL полного сканирования таблиц или у вас есть соединения, которые не используют ключи надлежащим образом.
  • Если значение Threads_created велико, возможно, необходимо увеличить значение переменной thread_cache_size. Частоту успешных обращений к кэшу можно вычислить при помощи Threads_created/Connections.
  • Если значение Created_tmp_disk_tables велико, возможно, необходимо увеличить значение переменной tmp_table_size, чтобы временные таблицы располагались в памяти, а не на жестком диске.