Spec-Zone .ru
спецификации, руководства, описания, API

4.5.7. mysqlslap — Клиент Эмуляции Загрузки

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

Вызовите mysqlslap как это:

shell> mysqlslap [options]

Некоторые опции такой как --create или --query позвольте Вам определить строку, содержащую SQL-оператор или файл, содержащий операторы. Если Вы определяете файл, по умолчанию он должен содержать один оператор на строку. (Таким образом, неявный разделитель оператора является символом новой строки.) Используют --delimiter опция, чтобы определить различный разделитель, который позволяет Вам определить операторы, которые охватывают многократные строки или помещают многократные операторы в одну строку. Невозможно включать комментарии в файл; mysqlslap не понимает их.

mysqlslap работает на трех этапах:

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

  2. Выполните нагрузочный тест. Этот этап может использовать много клиентских соединений.

  3. Очистите (разъединение, отбросьте таблицу если определено). Этот этап использует единственное клиентское соединение.

Примеры:

Предоставьте свое собственное, создают и запрашивают 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, чтобы использовать, соединяясь с сервером
- многословный Многословный режим
- версия Выведите на экран информацию о версии и выход