У нас есть система обработки сообщений, где низкая задержка имеет решающее значение. Недавно я обнаружил, что, несмотря на то, что мы поддерживаем высокий уровень нашей системы, мы наблюдаем некоторые "выбросы". (Сообщения, которые занимают намного больше времени, чем следовало бы). Когда мы удалили протоколирование, наши системы не показывают ни одного из этих выбросов.
В настоящее время наше ведение журнала - это просто завернутый поток с некоторыми функциями уровня ведения журнала, подобными log4j (debug, fatal, debug и т.д.).
Мне было интересно, что делают другие, чтобы управлять производительностью журналирования, особенно при обработке сообщений? Как вы управляете этими действиями, связанными с вводом / выводом? Вы раздеваетесь? Вместо этого вы переходите в базы данных?
Любой совет по оптимизации регистрации приветствуется.
Примечание: я признаю, что могут быть другие проблемы с нашей системой, которые вызывают выбросы, но ради этого вопроса я заинтересован только в оптимизации журналирования, спасибо.
Также: регистрация обязательна для нашей системы.