Это команда pgreplay, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
pgreplay - проигрыватель файлов журнала PostgreSQL для тестов производительности
СИНТАКСИС
pgreplay [разбор кредита] [повторить кредита] [-d уровень] [вводить]
pgreplay -f [разбор кредита] [-o Outfile] [-d уровень] [вводить]
pgreplay -r [повторить кредита] [-d уровень] [вводить]
ОПИСАНИЕ
pgreplay читает файл журнала PostgreSQL ( файл WAL), извлекает операторы SQL и
выполняет их в том же порядке и в относительное время для кластера базы данных PostgreSQL.
Заключительный отчет дает вам полезный статистический анализ вашей рабочей нагрузки и ее выполнения.
В первой форме файл журнала вводить воспроизводится во время чтения.
Для -f вариант, pgreplay не будет выполнять операторы, но запишет их в 'replay
файл' Outfile это можно воспроизвести с помощью третьей формы.
Для -r вариант, pgreplay выполнит операторы в файле воспроизведения вводить который
была создана вторая форма.
Если выполнение операторов отстает от графика, выдаются предупреждающие сообщения, которые
указывают на то, что сервер не может своевременно справиться с нагрузкой. Идея состоит в том, чтобы
как можно точнее воспроизвести реальную рабочую нагрузку базы данных.
Чтобы создать файл журнала, который может быть проанализирован pgreplay, вам необходимо установить следующие
параметры в postgresql.conf:
log_min_messages = ошибка (или больше)
log_min_error_statement = журнал (или больше)
log_connections = on
log_disconnections = on
log_line_prefix = '% m |% u |% d |% c |' (если вы не используете ведение журнала CSV)
log_statement = 'все'
lc_messages должен быть установлен на английский (кодировка не имеет значения)
bytea_output = побег (начиная с версии 9.0, только если вы хотите воспроизвести журнал на 8.4
или ранее)
Кластер базы данных, для которого вы воспроизводите операторы SQL, должен быть клоном
кластер базы данных, который генерировал журналы с того времени немедленно до журналы были
генерируется.
pgreplay полезен для тестов производительности, особенно в следующих ситуациях:
* Вы хотите сравнить производительность вашего приложения PostgreSQL на разных
оборудование или разные операционные системы.
* Вы хотите обновить свою базу данных и убедиться, что новая версия базы данных
не страдает от снижения производительности, которое влияет на вас.
Кроме того, к услугам пользователей pgreplay может дать вам представление о том, как ваше приложение может быть масштабироваться
позволяя вам попытаться воспроизвести рабочую нагрузку на более высокой скорости. Однако имейте в виду, что 500
пользователи, работающие с удвоенной скоростью, на самом деле не то же самое, что 1000 пользователей, работающих с нормальной скоростью
скорость.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Разбор опции:
-c Указывает, что файл журнала находится в формате csvlog (настоятельно рекомендуется), а не в формате.
Формат stderr.
-b отметка времени
Будут анализироваться только записи журнала, которые больше или равны этой отметке времени. Формат
YYYY-MM-DD ЧЧ: ММ: СС.FFF как в файле журнала. Необязательная часть часового пояса будет
игнорируются.
-e отметка времени
Анализируются только записи журнала, меньшие или равные этой отметке времени. Формат
YYYY-MM-DD ЧЧ: ММ: СС.FFF как в файле журнала. Необязательная часть часового пояса будет
игнорируются.
-q Указывает, что обратная косая черта в простом строковом литерале избегает следующего
одинарная кавычка. Это зависит от таких параметров конфигурации, как
стандартные_соответствующие_строки и является значением по умолчанию для версии сервера 9.0 и ниже.
переигровка опции:
-h хоста
Имя хоста, на котором запущен целевой кластер базы данных (или каталог, в котором установлен UNIX
розетку можно найти). По умолчанию для локальных подключений.
Это работает так же, как -h возможность PSQL.
-p порт
Порт TCP, по которому может быть достигнут целевой кластер базы данных.
-W password
По умолчанию pgreplay предполагает, что целевой кластер базы данных настроен для
доверять аутентификация. С -W вариант вы можете указать пароль, который будет
используется для всех пользователей в кластере.
-s фактор
Коэффициент скорости для воспроизведения, по умолчанию 1. Это может быть любое допустимое положительное число с плавающей запятой.
номер точки. А фактор меньше 1 будет воспроизводить рабочую нагрузку в «замедленном движении», в то время как
a фактор больше 1 означает «быстрая перемотка вперед».
-E кодирование
Задает кодировку файла журнала, которая будет использоваться как клиентская кодировка.
во время воспроизведения. Если он не указан, будет использоваться кодировка вашего клиента по умолчанию.
-j Если все соединения свободны, переходите к следующему запросу вместо сна.
Это ускорит воспроизведение. Задержки выполнения по-прежнему будут сообщаться правильно, но
Статистика воспроизведения не будет содержать время простоя.
Результат опции:
-o Outfile
указывает файл воспроизведения, в котором будут записаны операторы для последующего воспроизведения.
Отлаживать опции:
-d уровень
Задает уровень трассировки (от 1 до 3). Повышение уровня даст больше
подробная информация о чем pgreplay делает.
-v Распечатывает версию программы и завершает работу.
ОКРУЖАЮЩАЯ СРЕДА
ПРИЗРАК Задает значение по умолчанию для -h опцию.
ПГПОРТ Задает значение по умолчанию для -p опцию.
PGCLIENTENCODING
Задает значение по умолчанию для -E опцию.
ОГРАНИЧЕНИЯ
pgreplay может воспроизводить только то, что записано PostgreSQL. Это приводит к некоторым ограничениям:
* КОПИЯ операторы не будут воспроизводиться, потому что данные копии не регистрируются.
* Вызовы функций API быстрого доступа не регистрируются и не воспроизводятся. К несчастью,
это включает в себя API больших объектов.
* Поскольку файл журнала всегда находится в серверной кодировке (которую можно указать с помощью -E
переключатель pgreplay), все УСТАНОВКА client_encoding заявления будут проигнорированы.
* Поскольку время подготовки подготовленных выписок не регистрируется (кроме случаев, когда
log_min_messages is отладка2 или более), эти отчеты будут подготовлены немедленно
перед их первым выполнением во время воспроизведения.
* Поскольку файл журнала содержит только текст, параметры запроса и возвращаемые значения будут
всегда быть в текстовом и никогда в двоичном формате. Если вы используете двоичный режим, скажем, для передачи
большие двоичные данные, pgreplay может вызвать значительно больший сетевой трафик, чем
оригинальный пробег.
* Иногда, если соединение занимает больше времени, идентификатор сеанса неожиданно
изменения в файле журнала PostgreSQL. Это вызывает pgreplay рассматривать сеанс как два
разные, что приводит к дополнительному подключению. Возможно, это ошибка в
Постгрес SQL.
Используйте pgreplay онлайн с помощью сервисов onworks.net