Search the MySQL manual:
Subscribe to the monthly
MySQL Newsletter!

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_size.
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 Время в секундах, в течение которого сервер находится в работе.

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

User Comments

Posted by Sebastian Busch on December 18 2002 5:27pm[Delete] [Edit]

You state for example "if ... is big,
then ...". But: what is big? Relative to
what? It is good that you describe these
conditions, but we should know how these numbers
relate to get an idea of big/large/huge...

Posted by Rich Lafferty on January 14 2003 9:03am[Delete] [Edit]

There are no absolutes for "big". Slashdot's "normal" will be a lot larger than Bob's Trout Forum's "big", for instance.

For the most part, if you're not trying to solve a particular performance problem, you probably don't need to lose sleep over the values; once you have a performance problem to debug, you can use the performance statistics along with slow query logging, no-index query logging, and EXPLAIN to track down the bottleneck queries in your application.

For example, if everything using a table seems to take too long to return, seeing a large Table_locks_waited compared to Table_locks_immediate suggests that waiting for locks is a performance problem; from there you can look at the Handler_read_* figures to see what sort of pathological behavior might be holding locks open, and then compare that to EXPLAINs of the queries in the slow query log to see which queries are causing the problem vs. which are just being slowed down as a result, from which you can start tuning individual queries and indices.

Add your own comment.