Сегодня видел интересный эффект. В конфиге лога одного сервиса параметр
http://logback.qos.ch/manual/appenders.html#immediateFlush выставлен в false. Сделано явно (по умолчанию true). И уровень логирования был Debug.
1. На диаграмме работы потоков видно, что пока один поток пишет в лог событие с тестом SQL-запроса, все другие ждут. А в режиме DEBUG все потоки пишут события.
Возможно это особенность логирования именно SQL-запросов, именно той библиотекой, что используется в приложении (doobie). Возможно, особенность отключения immediateFlush. Но приложение стало работать со скоростью записи в лог одного потока — очень медленным.
2. События попадают в лог неотсортированными по времени. С небольшой погрешностью. Тут думаю точно дело в immediateFlush = false.
Починили 1 отключением DEBUG для SQL. Но вопрос к immediateFlush остался. А ведь возможно, это моя рекомендация когда-то была. Хотел, как лучше