Быстрый перенос базы mysql на другой сервер с помощью percona xtrabackup

По мотивам официального мануала

Скорость переноса данных, по сравнению с обычными консольными dump / restore просто колоссальная, т.к. переносятся целиком файлы таблиц.

Особенность в том, что на целевом сервере не должно быть рабочей mysql с нужными данными

На серверах должен быть установлен Percona XtraBackup

Source server

Делаем частичный бэкап (partial backup), указывая опцию —database, где через пробел перечисляем базы для бэкапа. Важным моментов является то, что необходимо забрать и базу mysql для сохранения учётных записей и разрешений

Читать далее «Быстрый перенос базы mysql на другой сервер с помощью percona xtrabackup»

PHP профайлер tideways + xhgui

Введение

Об удобстве использования профайлера, да ещё с графическим интерфейсом и говорить нечего, особенно когда надо найти узкие места под нагрузкой.

tideways — само расширение php для сбора данных о производительности кода

xhgui — графический веб-интерфейс (см. скриншот выше), который, помимо всего прочего, сохраняет данные профилирования в mongodb и затем использует их для вывода статистики

Установка

Нам понадобятся:

  1. Настроенный веб-сервер с fastcgi (в данном примере nginx + php-fpm)
  2. Сервер mongodb
  3. php-mongod
  4. gcc, make, php-devel, чтобы собрать расширение tideways

Читать далее «PHP профайлер tideways + xhgui»

map в nginx

Кейс следующий:

Есть запросы к API с передачей уникального токена в GET параметре. По этому токену (user_token=) имеются лимиты на запросы через limit_req_zone, типа такого:

Необходимо для некоторых токенов отключить лимиты. Тут на помощь и приходит map модуль nginx. Он позволяет динамически получать переменную, значение которой будет зависеть от значений других, входных, переменных. Т.е., грубо говоря, мы имеем function(a, b) { … return c } Читать далее «map в nginx»