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