Spec-Zone.ru › MariaDB

Статистика пользователей

Функция статистики пользователей была впервые выпущена в MariaDB 5.2.0 и переместилась в плагин userstat в MariaDB 10.1.1.

Плагин userstat создаёт таблицы USER_STATISTICS, CLIENT_STATISTICS, INDEX_STATISTICS и TABLE_STATISTICS в базе данных INFORMATION_SCHEMA. В качестве альтернативы этим таблицам, плагин также добавляет команды SHOW USER_STATISTICS, SHOW CLIENT_STATISTICS, SHOW INDEX_STATISTICS и SHOW TABLE_STATISTICS.

Эти таблицы и команды могут быть использованы для лучшего понимания активности сервера и выявления источников нагрузки на вашу базу данных.

Плагин также добавляет команды FLUSH USER_STATISTICS, FLUSH CLIENT_STATISTICS, FLUSH INDEX_STATISTICS и FLUSH TABLE_STATISTICS.

Реализация плагина в MariaDB основана на патче userstatv2 от Percona и Ourdelta. Исходный код происходит от Google (команда Марка Каллагана) с дополнительной работой от Percona, Ourdelta и Weldon Whipple. Реализация в MariaDB обеспечивает ту же функциональность, что и патч userstatv2, но в неё внесены значительные изменения для повышения скорости и лучшего соответствия инфраструктуре MariaDB.

Как это работает

Плагин userstat работает путём хранения нескольких хэш-таблиц в памяти. Все переменные инкрементируются во время выполнения запроса. В конце каждой команды глобальные значения обновляются.

Включение плагина

По умолчанию сбор статистики не производится. Это гарантирует, что сбор статистики не вызывает дополнительной нагрузки на сервер, если это не нужно.

Установите системную переменную userstat=ON в соответствующей группе опций сервера в файле опций группы опций в файле опций. Например:

[mariadb]
...
userstat = 1

Значение также может быть изменено динамически. Например:

SET GLOBAL userstat=1;

Использование плагина

Использование таблицы Information Schema

Плагин userstat создаёт таблицы USER_STATISTICS, CLIENT_STATISTICS, INDEX_STATISTICS и TABLE_STATISTICS в базе данных INFORMATION_SCHEMA.

SELECT * FROM INFORMATION_SCHEMA.USER_STATISTICS\G
*************************** 1. row ***************************
                  USER: root
     TOTAL_CONNECTIONS: 1
CONCURRENT_CONNECTIONS: 0
        CONNECTED_TIME: 297
             BUSY_TIME: 0.001725
              CPU_TIME: 0.001982
        BYTES_RECEIVED: 388
            BYTES_SENT: 2327
  BINLOG_BYTES_WRITTEN: 0
             ROWS_READ: 0
             ROWS_SENT: 12
          ROWS_DELETED: 0
         ROWS_INSERTED: 13
          ROWS_UPDATED: 0
       SELECT_COMMANDS: 4
       UPDATE_COMMANDS: 0
        OTHER_COMMANDS: 3
   COMMIT_TRANSACTIONS: 0
 ROLLBACK_TRANSACTIONS: 0
    DENIED_CONNECTIONS: 0
      LOST_CONNECTIONS: 0
         ACCESS_DENIED: 0
         EMPTY_QUERIES: 1
SELECT * FROM INFORMATION_SCHEMA.CLIENT_STATISTICS\G
*************************** 1. row ***************************
                CLIENT: localhost
     TOTAL_CONNECTIONS: 3
CONCURRENT_CONNECTIONS: 0
        CONNECTED_TIME: 4883
             BUSY_TIME: 0.009722
              CPU_TIME: 0.0102131
        BYTES_RECEIVED: 841
            BYTES_SENT: 13897
  BINLOG_BYTES_WRITTEN: 0
             ROWS_READ: 0
             ROWS_SENT: 214
          ROWS_DELETED: 0
         ROWS_INSERTED: 207
          ROWS_UPDATED: 0
       SELECT_COMMANDS: 10
       UPDATE_COMMANDS: 0
        OTHER_COMMANDS: 13
   COMMIT_TRANSACTIONS: 0
 ROLLBACK_TRANSACTIONS: 0
    DENIED_CONNECTIONS: 0
      LOST_CONNECTIONS: 0
         ACCESS_DENIED: 0
         EMPTY_QUERIES: 1
1 row in set (0.00 sec)
SELECT * FROM INFORMATION_SCHEMA.INDEX_STATISTICS WHERE TABLE_NAME = "author";
+--------------+------------+------------+-----------+
| TABLE_SCHEMA | TABLE_NAME | INDEX_NAME | ROWS_READ |
+--------------+------------+------------+-----------+
| books        | author     | by_name    |        15 |
+--------------+------------+------------+-----------+
SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS WHERE TABLE_NAME='user';
+--------------+------------+-----------+--------------+------------------------+
| TABLE_SCHEMA | TABLE_NAME | ROWS_READ | ROWS_CHANGED | ROWS_CHANGED_X_INDEXES |
+--------------+------------+-----------+--------------+------------------------+
| mysql        | user       |         5 |            2 |                      2 |
+--------------+------------+-----------+--------------+------------------------+

Использование команд SHOW

В качестве альтернативы таблицам INFORMATION_SCHEMA, плагин userstat также добавляет команды SHOW USER_STATISTICS, SHOW CLIENT_STATISTICS, SHOW INDEX_STATISTICS и SHOW TABLE_STATISTICS.

Эти команды — ещё один способ отображения информации, хранящейся в таблицах схемы данных. Поддерживаются предложения WHERE. Предложения LIKE принимаются, но игнорируются.

SHOW USER_STATISTICS
SHOW CLIENT_STATISTICS
SHOW INDEX_STATISTICS
SHOW TABLE_STATISTICS

Очистка данных плагина

Плагин userstat также добавляет команды FLUSH USER_STATISTICS, FLUSH CLIENT_STATISTICS, FLUSH INDEX_STATISTICS и FLUSH TABLE_STATISTICS, которые удаляют информацию, хранящуюся в указанной таблице схемы данных.

FLUSH USER_STATISTICS
FLUSH CLIENT_STATISTICS
FLUSH INDEX_STATISTICS
FLUSH TABLE_STATISTICS

Версии

USER_STATISTICS

Версия Статус Введено
2.0 Стабильная MariaDB 10.1.18
2.0 Бета MariaDB 10.1.1

CLIENT_STATISTICS

Версия Статус Введено
2.0 Стабильная MariaDB 10.1.13
2.0 Бета MariaDB 10.1.1

INDEX_STATISTICS

Версия Статус Введено
2.0 Стабильная MariaDB 10.1.13
2.0 Бета MariaDB 10.1.1

TABLE_STATISTICS

Версия Статус Введено
2.0 Стабильная MariaDB 10.1.18
2.0 Бета MariaDB 10.1.1

Системные переменные

userstat

  • Описание: Если установлено в 1, будет активирована статистика пользователей.
  • Командная строка: --userstat=1
  • Область действия: Глобальная
  • Динамическая: Да
  • Тип данных: boolean
  • Значение по умолчанию: OFF

Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/user-statistics/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API