Ведение лога highload проекта.

KhmelevskyY

Новичок
Ведение лога highload проекта.

Есть фреймворк, который для каждого реквеста собирает информации о самых важных(тяжелых) выполненных операциях (соединение с субд, запросы к ней, коннект/чтение/запись в мемкешд, фаловые операции) и потраченного на них времени. Эта информация очень нужна для отладки, и зачастую нужна на продакшене, чтобы увидеть картину в реальных условиях.
При установленной определенной опции можно на продакшене включить это логирование, но куда его лучше сохранять и как, чтобы само логирование не добавило существенной нагрузки?
Самое простое - в файл. Но каждый реквест открывает файл, получает его дескриптор, пишет и по окончанию выполнения сценария автоматически закрывает(ну или явно закрывается). Может можно, как-то, указать не закрывать фал по завершению сценария, а дескриптор хранить в каком-то месте, где например? Или лучше накапливать данные и выкладывать их блоками, где тогда их хранить? в мемкеше? как-то не хочется для логирования его использовать.
 

Fortop

Новичок
Мммм, может пользоваться инструментами для таких вещей?

http://xdebug.org/docs/profiler

mysql.ini
log-slow-queries = mysql_slow_query.log
log-queries-not-using-indexes = mysql_query_nui.log


Но такие вещи обычно не работают постоянно. Включил, собрал статистику за какой-то промежуток и выключил.
 

Макс

Старожил PHPClub
если у тебя и так в скрипте есть "соединение с субд, запросы к ней, коннект/чтение/запись в мемкешд, фаловые операции" тот error_log-и картину кардинально не ухудшат.
 

fixxxer

К.О.
Партнер клуба
интересно, откуда пошел этот идиотский миф про то что мемкеш может быть быстрее локальных файловых операций, как это вообще себе представляют люди?...

-~{}~ 15.02.10 13:42:

боишься открытия - пиши в stderr, он и так открыт хехе)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
C_TIGER
И что же тут страшного?
 

korchasa

LIMB infected
KhmelevskyY
[irony]Если уж вы протестировали запись в файл, и вам это показалось оверхедом[/irony], то протестируйте тогда еще и syslog.
 

KhmelevskyY

Новичок
Автор оригинала: Макс
если у тебя и так в скрипте есть "соединение с субд, запросы к ней, коннект/чтение/запись в мемкешд, фаловые операции" тот error_log-и картину кардинально не ухудшат.
по максимуму все будет кэшироваться, в кэше должно быть 90% всей инфы, так что работы с субд и файлами должно быть по минимуму. Буду использовать файлы, посмотрю как себя будут вести... если будут проблему, тогда и буду решать

Автор оригинала: fixxxer
интересно, откуда пошел этот идиотский миф про то что мемкеш может быть быстрее локальных файловых операций, как это вообще себе представляют люди?...
По идее разница должна быть не существенной, так как при первом обращении к файлу он попадает в файловый кэш. Меня просто смущают сами операции закрытия, открытия файла.

Автор оригинала: C_TIGER
мне кажется самое страшное что тут
>>>Есть фреймворк<<<
любитель холиваров? Желаю удачи писать хайлоад проект на зенде, симфони или чему-то еще.

-~{}~ 15.02.10 14:22:

Автор оригинала: korchasa
KhmelevskyY
[irony]Если уж вы протестировали запись в файл, и вам это показалось оверхедом[/irony], то протестируйте тогда еще и syslog.
а если один фронтенд в период пиковой нагрузки обрабатывает ~500 реквестов в секунду, значит 500 записей в файл(c открытием/закрытием) это нормально? тесты прока не проводились, все теория, спрашивал ваше мнения.
 

zerkms

TDD infected
Команда форума
написать примитивного демона и слать в него логи по UDP.
 

zerkms

TDD infected
Команда форума
korchasa
ну или пинба. для пинбы надо мускуль пересобирать хитро, насколько я помню.
 

korchasa

LIMB infected
zerkms
Мускль не надо. Пинба это плагин к нему. Подключается на лету. Вроде бы даже без рестарта.
 

C_TIGER

Новичок
каком блин зенде. я наоборот говорю обратное.

фреймворк по определению подрузамевает многоосновность, хайлоад по логике не переносил многоосновности и требует конкретики.

но это так вообще =)
думаю вы просто неправильно выразились
а по сабжу уже много чего хорошего написали
 

KhmelevskyY

Новичок
всем спасибо, много пищи для дальнейших размышлений и действий. обязательно посмотрю пинба, и насчет своего демона тоже очень заманчиво(со временем будем разбираться).
C_TIGER
сорри, действительно, я наверное неточно выразился, а затем еще и неправильно вас понял :)
 

fixxxer

К.О.
Партнер клуба
>>написать примитивного демона и слать в него логи по UDP.

rsyslogd? :)
 

HraKK

Мудак
Команда форума
У меня только один вопрос, откуда у создателей хайлоада может вылезти такой вопрос? Или же Вы KhmelevskyY только поддерживаете хайлоад? Или же только планируете его? Можно узнать, пожалуйста, урл?
 

Alexandre

PHPПенсионер
У меня только один вопрос, откуда у создателей хайлоада может вылезти такой вопрос? Или же Вы KhmelevskyY только поддерживаете хайлоад? Или же только планируете его?
мечтает, иначе бы вопроса не вставало бы.
 
Сверху