Spec-Zone .ru
спецификации, руководства, описания, API
|
mysqlslap является программой диагностирования, разработанной, чтобы эмулировать клиентскую загрузку для сервера MySQL и сообщить о синхронизации каждого этапа. Это работает, как будто многократные клиенты получают доступ к серверу.
Вызовите mysqlslap как это:
shell> mysqlslap [options
]
Некоторые опции такой как --create
или --query
позвольте Вам определить строку, содержащую SQL-оператор или файл, содержащий операторы. Если Вы определяете
файл, по умолчанию он должен содержать один оператор на строку. (Таким образом, неявный разделитель оператора
является символом новой строки.) Используют --delimiter
опция, чтобы определить различный разделитель, который позволяет
Вам определить операторы, которые охватывают многократные строки или помещают многократные операторы в одну
строку. Невозможно включать комментарии в файл; mysqlslap не понимает их.
mysqlslap работает на трех этапах:
Создайте схему, таблицу, и дополнительно любые сохраненные программы или данные, чтобы использовать для теста. Этот этап использует единственное клиентское соединение.
Выполните нагрузочный тест. Этот этап может использовать много клиентских соединений.
Очистите (разъединение, отбросьте таблицу если определено). Этот этап использует единственное клиентское соединение.
Примеры:
Предоставьте свое собственное, создают и запрашивают SQL-операторы, с 50 клиентами, запрашивающими и 200, выбирает для каждого (введите команду в одну строку):
mysqlslap --delimiter=";" --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" --query="SELECT * FROM a" --concurrency=50 --iterations=200
Позвольте mysqlslap создавать SQL-оператор запроса с таблицей два INT
столбцы и три VARCHAR
столбцы. Используйте пять клиентов, запрашивающих 20 раз каждого. Не
составляйте таблицу или вставляйте данные (то есть, используйте схему предыдущего теста и данные):
mysqlslap --concurrency=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql
Скажите программе загружать создавание, вставлять, и запрашивать SQL-операторы от указанных файлов, где create.sql
у файла есть многократные табличные операторы создания, разграниченные
';'
и многократные операторы вставки, разграниченные ';'
. --query
файлу разграничат многократные запросы
';'
. Выполните все операторы загрузки, затем выполните все запросы в файле запроса
с пятью клиентами (пять раз каждый):
mysqlslap --concurrency=5 --iterations=5 --query=query.sql --create=create.sql --delimiter=";"
mysqlslap поддерживает следующие опции, которые могут быть
определены на командной строке или в [mysqlslap]
и [client]
группы файла опции. mysqlslap также поддерживает опции для того, чтобы
обработать файлы опции, описанные в Разделе
4.2.3.4, "Параметры командной строки, которые Влияют на Обработку Файла опции".
Таблица 4.10. mysqlslap
Опции
Формат | Файл опции | Описание |
---|---|---|
- auto-generate-sql | auto-generate-sql | Генерируйте SQL-операторы автоматически, когда они не предоставляются в файлах или опциях команды использования |
- auto-generate-sql-add-autoincrement | auto-generate-sql-add-autoincrement | Добавьте столбец AUTO_INCREMENT к автоматически сгенерированным таблицам |
--auto-generate-sql-execute-number=# | auto-generate-sql-execute-number | Определите сколько запросов, чтобы генерировать автоматически |
- auto-generate-sql-guid-primary | auto-generate-sql-guid-primary | Добавьте GUID-на-основе первичный ключ к автоматически сгенерированным таблицам |
- auto-generate-sql-load-type=type | auto-generate-sql-load-type | Определите сколько запросов, чтобы генерировать автоматически |
--auto-generate-sql-secondary-indexes=# | auto-generate-sql-secondary-indexes | Определите, сколько вторичный индексирует, чтобы добавить к автоматически сгенерированным таблицам |
--auto-generate-sql-unique-query-number=# | auto-generate-sql-unique-query-number | Сколько различных запросов, чтобы генерировать для автоматических тестов. |
--auto-generate-sql-unique-write-number=# | auto-generate-sql-unique-write-number | Сколько различных запросов, чтобы генерировать для - auto-generate-sql-write-number |
--auto-generate-sql-write-number=# | auto-generate-sql-write-number | Сколько строка вставляет, чтобы выполнить на каждом потоке |
--commit=# | фиксация | Сколько операторов, чтобы выполниться перед фиксацией. |
- сжатие | сжатие | Сожмите всю информацию, отправленную между клиентом и сервером |
--concurrency=# | параллелизм | Число клиентов, чтобы моделировать, выпуская оператор SELECT |
- create=value | создать | Файл или строка, содержащая оператор, чтобы использовать для того, чтобы составить таблицу |
- create-schema=value | создавать-схема | Схема, в которой можно выполнить тесты |
- csv = [файл] | csv | Генерируйте вывод в разделенном от запятой формате значений |
- отладка [=debug_options] | отладка | Запишите журнал отладки |
- проверка отладки | проверка отладки | Напечатайте отладочную информацию, когда программа выходит |
- информация отладки | информация отладки | Напечатайте отладочную информацию, память и статистику ЦП, когда программа выходит |
- default-auth=plugin | default-auth=plugin | Плагин аутентификации, чтобы использовать |
- delimiter=str | разделитель | Разделитель, чтобы использовать в SQL-операторах |
--detach=# | отсоединение | Отсоединение (закрываются и вновь открываются), каждое соединение после каждого N операторы |
- "включите плагину открытого текста" | "включите плагину открытого текста" | Включите плагину аутентификации открытого текста |
- engine=engine_name | механизм | Механизм хранения, чтобы использовать для того, чтобы составить таблицу |
- справка | Сообщение справки дисплея и выход | |
- host=host_name | узел | Соединитесь с сервером MySQL на данном узле |
--iterations=# | итерации | Число раз, чтобы выполнить тесты |
- login-path=name | Считайте опции пути входа в систему из.mylogin.cnf | |
- без отбрасываний | без отбрасываний | Не бросать! любая схема создается во время тестового прогона |
--number-char-cols=# | седла случайной работы числа | Число столбцов VARCHAR, чтобы использовать, если - auto-generate-sql определяется |
--number-int-cols=# | "седла интервала числа" | Число столбцов INT, чтобы использовать, если - auto-generate-sql определяется |
--number-of-queries=# | число запросов | Ограничьте каждый клиент приблизительно этим числом запросов |
- единственная печать | единственная печать | Не соединяйтесь с базами данных. mysqlslap только печатает то, что он сделал бы |
- пароль [=password] | пароль | Пароль, чтобы использовать, соединяясь с сервером |
- канал | На Windows соединитесь с сервером, используя именованный канал | |
- plugin-dir=path | plugin-dir=path | Каталог, где плагины располагаются |
- port=port_num | порт | Номер порта TCP/IP, чтобы использовать для соединения |
- post-query=value | постзапрос | Файл или строка, содержащая оператор, чтобы выполниться после тестов, завершились |
- post-system=str | постсистема | Строка, чтобы выполнить систему использования () после тестов завершилась |
- pre-query=value | предварительный запрос | Файл или строка, содержащая оператор, чтобы выполниться прежде, чем выполнить тесты |
- pre-system=str | предварительная система | Строка, чтобы выполнить систему использования () прежде, чем выполнить тесты |
- protocol=type | протокол | Протокол соединения, чтобы использовать |
- query=value | запрос | Файл или строка, содержащая оператор SELECT, чтобы использовать для того, чтобы получить данные |
- тихий | тихий | Тихий режим |
- socket=path | сокет | Для соединений с localhost |
- ssl-ca=file_name | ssl-приблизительно | Путь к файлу, который содержит список доверяемой АВАРИИ SSL |
- ssl-capath=dir_name | ssl-capath | Путь к каталогу, который содержит доверяемые сертификаты CA SSL в формате PEM |
- ssl-cert=file_name | ssl-свидетельство | Имя файла сертификата SSL, чтобы использовать для того, чтобы установить безопасное соединение |
- ssl-cipher=cipher_list | ssl-шифр | Список допустимых шифров, чтобы использовать для шифрования SSL |
- ssl-crl=file_name | ssl-crl | Путь к файлу, который содержит списки аннулированных сертификатов |
- ssl-crlpath=dir_name | ssl-crlpath | Путь к каталогу, который содержит файлы списка аннулированных сертификатов |
- ssl-key=file_name | ssl-ключ | Имя файла ключей SSL, чтобы использовать для того, чтобы установить безопасное соединение |
- ssl-verify-server-cert | ssl-verify-server-cert | Значение Общего названия сервера в его сертификате проверяется против имени хоста, используемого, соединяясь с сервером |
- user=user_name, | пользователь | Имя пользователя MySQL, чтобы использовать, соединяясь с сервером |
- многословный | Многословный режим | |
- версия | Выведите на экран информацию о версии и выход |
--help
, -?
Выведите на экран сообщение справки и выход.
Генерируйте SQL-операторы автоматически, когда они не предоставляются в файлах или опциях команды использования.
--auto-generate-sql-add-autoincrement
Добавьте AUTO_INCREMENT
столбец к автоматически сгенерированным
таблицам.
--auto-generate-sql-execute-number=
N
Определите сколько запросов, чтобы генерировать автоматически.
--auto-generate-sql-guid-primary
Добавьте GUID-на-основе первичный ключ к автоматически сгенерированным таблицам.
--auto-generate-sql-load-type=
type
Определите тестовый тип загрузки. Допустимые значения read
(отсканируйте таблицы), write
(вставьте в таблицы), key
(считайте первичные ключи), update
(обновите первичные ключи), или mixed
(половина вставляет, наполовину
сканирование выбирает). Значение по умолчанию mixed
.
--auto-generate-sql-secondary-indexes=
N
Определите, сколько вторичный индексирует, чтобы добавить к автоматически сгенерированным таблицам. По умолчанию ни один не добавляется.
--auto-generate-sql-unique-query-number=
N
Сколько различных запросов, чтобы генерировать для автоматических тестов. Например, если Вы
выполняете a key
тест, который выполняет 1000, выбирает, можно
использовать эту опцию со значением 1000, чтобы выполнить 1000 уникальных запросов, или со значением
50, чтобы выполнить 50 отличающийся выбирает. Значение по умолчанию 10.
--auto-generate-sql-unique-write-number=
N
Для какого количества различных запросов, чтобы генерировать --auto-generate-sql-write-number
. Значение по умолчанию 10.
--auto-generate-sql-write-number=
N
Сколько строка вставляет, чтобы выполнить на каждом потоке. Значение по умолчанию 100.
Сколько операторов, чтобы выполниться перед фиксацией. Значение по умолчанию 0 (никакие фиксации не делаются).
--compress
, -C
Сожмите всю информацию, отправленную между клиентом и сервером если оба сжатия поддержки.
--concurrency=
, N
-c
N
Число клиентов, чтобы моделировать, выходя SELECT
оператор.
Файл или строка, содержащая оператор, чтобы использовать для того, чтобы составить таблицу.
Схема, в которой можно выполнить тесты.
Если --auto-generate-sql
опция также дается, mysqlslap отбрасывает схему в конце тестового
прогона. Чтобы избежать этого, используйте --no-drop
опция также.
Генерируйте вывод в разделенном от запятой формате значений. Вывод идет в именованный файл, или в стандартный вывод, если никакой файл не дается.
--debug[=
,
debug_options
]-# [
debug_options
]
Запишите журнал отладки. Типичное debug_options
строка
'd:t:o,
. Значение
по умолчанию file_name
''d:t:o,/tmp/mysqlslap.trace'
.
Напечатайте некоторую отладочную информацию, когда программа выходит.
--debug-info
, -T
Напечатайте отладочную информацию и память и статистику использования ЦП, когда программа выходит.
Клиентский плагин аутентификации, чтобы использовать. См. Раздел 6.3.7, "Сменная Аутентификация".
--delimiter=
, str
-F
str
Разделитель, чтобы использовать в SQL-операторах, предоставленных в файлах или опциях команды использования.
Отсоединение (закрываются и вновь открываются), каждое соединение после каждого N
операторы. Значение по умолчанию 0 (соединения не
отсоединяются).
Включите mysql_clear_password
плагин аутентификации открытого текста.
(См. Раздел 6.3.7.3, "Клиентский
Плагин Аутентификации Открытого текста".)
--engine=
, engine_name
-e
engine_name
Механизм хранения, чтобы использовать для того, чтобы составить таблицы.
--host=
, host_name
-h
host_name
Соединитесь с сервером MySQL на данном узле.
--iterations=
, N
-i
N
Число раз, чтобы выполнить тесты.
Препятствуйте тому, чтобы mysqlslap отбросил любую схему, которую он создает во время тестового прогона.
--number-char-cols=
, N
-x
N
Число VARCHAR
столбцы, чтобы использовать, если --auto-generate-sql
определяется.
--number-int-cols=
, N
-y
N
Число INT
столбцы, чтобы использовать, если --auto-generate-sql
определяется.
Ограничьте каждый клиент приблизительно этим много запросов. Подсчет запроса принимает во внимание
разделитель оператора. Например, если Вы вызываете mysqlslap следующим образом, ;
разделитель распознается так, чтобы каждый экземпляр запроса
представил количества в виде строки как два запроса. В результате 5 строк (не 10) вставляются.
shell>mysqlslap --delimiter=";" --number-of-queries=10
--query="use test;insert into t values(null)"
Не соединяйтесь с базами данных. mysqlslap только печатает то, что он сделал бы.
--password[=
, password
]-p[
password
]
Пароль, чтобы использовать, соединяясь с сервером. Если Вы используете короткую форму опции (-p
), у Вас не может быть
пространства между опцией и паролем. Если Вы опускаете password
значение после --password
или -p
опция на командной строке, mysqlslap запрашивает одного.
Определение пароля на командной строке нужно считать небезопасным. См. Раздел 6.1.2.1, "Направляющие линии Конечного пользователя для Безопасности Пароля". Можно использовать файл опции, чтобы избежать давать пароль на командной строке.
--pipe
, -W
На Windows соединитесь с сервером, используя именованный канал. Эта опция применяется, только если сервер поддерживает соединения именованного канала.
Каталог, в котором можно искать плагины. Может быть необходимо определить эту опцию если --default-auth
опция используется, чтобы определить плагин аутентификации, но mysqlslap не находит это. См. Раздел
6.3.7, "Сменная Аутентификация".
--port=
, port_num
-P
port_num
Номер порта TCP/IP, чтобы использовать для соединения.
Файл или строка, содержащая оператор, чтобы выполниться после тестов, завершились. Это выполнение не считается в целях синхронизации.
--shared-memory-base-name=
name
На Windows, имени разделяемой памяти к использованию, для соединений, сделанных, используя разделяемую память для локального сервера. Эта опция применяется, только если сервер поддерживает сопряжения с общей памятью.
Строка, чтобы выполнить использование system()
после того, как тесты
завершились. Это выполнение не считается в целях синхронизации.
Файл или строка, содержащая оператор, чтобы выполниться прежде, чем выполнить тесты. Это выполнение не считается в целях синхронизации.
Строка, чтобы выполнить использование system()
прежде, чем выполнить
тесты. Это выполнение не считается в целях синхронизации.
--protocol={TCP|SOCKET|PIPE|MEMORY}
Протокол соединения, чтобы использовать для того, чтобы соединиться с сервером. Полезно, когда другие параметры соединения обычно заставляли бы протокол использоваться кроме того, Вы хотите. Для получения дополнительной информации на допустимых значениях, см. Раздел 4.2.2, "Соединяясь с MySQL Server".
--query=
, value
-q
value
Файл или строка, содержащая SELECT
оператор, чтобы использовать для того, чтобы получить данные.
--silent
, -s
Тихий режим. Никакой вывод.
--socket=
, path
-S
path
Для соединений с localhost
, файл сокета Unix, чтобы использовать, или,
на Windows, имени именованного канала, чтобы использовать.
Опции, которые начинаются --ssl
определите, соединиться ли с сервером, используя SSL и указать,
где найти ключи SSL и сертификаты. См. Раздел 6.3.9.4,
"Опции Команды SSL".
--user=
, user_name
-u
user_name
Имя пользователя MySQL, чтобы использовать, соединяясь с сервером.
--verbose
, -v
Многословный режим. Напечатайте больше информации о том, что делает программа. Эта опция может использоваться многократно, чтобы увеличить количество информации.
--version
, -V
Выведите на экран информацию о версии и выход.