Когда я работал с базой данных с неизвестной производительностью, я измерял время обработки моих запросов. Я продолжал увеличивать количество потоков до тех пор, пока не уменьшалось время оборота, и уменьшал количество потоков до тех пор, пока не улучшилось время оборота (ну, это были процессы в моей среде, но неважно).
Были скользящие средние и всевозможные метрики, но урок на вынос был: просто адаптируйтесь к тому, как все работает в данный момент. Вы никогда не знаете, когда администраторы базы данных улучшат производительность, или оборудование будет обновлено, или, возможно, появится другой процесс для загрузки системы во время работы. Так что адаптируйся.
Да, и еще одна вещь: избегайте переключений процессов, если можете - пакетируйте вещи.
О, я должен прояснить это: все это произошло во время выполнения, а не во время разработки.