Свои mysql slow log для каждого виртуального хоста

  • Автор темы Автор темы LONGMAN
  • Дата начала Дата начала
LONGMAN
Внутренний от мускула тут не получиться использовать.

Сделать свой враппер для mysql_query и там уже засекать время

PHP:
$t = microtime(true);
$result = mysql_query(...)
if (microtime(true) - $t > 5) {
 // пишем в лог
}

return $result;
 
LONGMAN
Внутренний от мускула тут не получиться использовать.

Сделать свой враппер для mysql_query и там уже засекать время

PHP:
$t = microtime(true);
$result = mysql_query(...)
if (microtime(true) - $t > 5) {
 // пишем в лог
}

return $result;
Ваш метод не подходит. Неужели нету модуля apache или какого нибудь софта для этого?
 
мускул знать не знает ни о каких «виртуальных хостах» — это база данных. Она может вообще на другом сервере быть, где нет никакого вебсервера.
 
Однако, если у тебя у каждого хоста отдельная база — включи вывод в таблицу (5.1+ кажется) там можно их выбрать по конкретной базе
892f404e5737765da8051dad59edb99b.png
 
флоппик
Да, у каждого хоста отдельная база/базы. Но мне именно нужно slow queries логи в log файлах для каждого виртуалхоста/клиента отдельно.
Чтобы они сами без моего вмешательства могли посмотреть эти логи в logs папке своего виртуалхоста.
Такое возможно?
 
флоппик
Да, у каждого хоста отдельная база/базы. Но мне именно нужно slow queries логи в log файлах для каждого виртуалхоста/клиента отдельно. Такое возможно?
Средствами мускула — нельзя. Однако, пиши общий, демоном — разбирай на части, клади каждому.
 
что-то мне подсказывает, что враппер с замером времени реализовать и проще, и платформонезависимей.
 
Если не интересуют скорости выполнения mysql_select_db(), mysql_set_charset(), mysql_insert_id() и прочих обвязок, которые исполняют запросы внутри себя, то пойдёт враппер только для mysql_query().
Так же замечу, что при быстрых запросах разница microtime(TRUE) в коде
PHP:
$startTime = microtime(TRUE);
$result = mysql_query($query);
$benchTime = microtime(TRUE) - $startTime;
бывает отрицательной, потому нужно похитрить
 
с округлений вроде, очень неожиданно такие бенчи смотрятся, да
 
Сверху