Какую файловую систему выбрать для activemq + persistent сообщения?
Всем привет!
Решили сделать нагрузочное тестирование приложения, и очень огорчились производительностью activemq: всего несколько сотен сообщений в секунду. Погуглил, оказалось что дело в скорости синхронизированной записи на жесткий диск, использовал для тестирования встроенную тулзу DiskBenchmark, идет прямо с activemq.
Сделал тесты на рабочей машине под Ubuntu - всего 20 msg/s
На ноуте под Windows 8 - 380 msg/s на жд и 1200 msg/s на SSD.
Результаты приведены для кейса с синхронизацией после каждой записи (fsync)
Как я понимаю, тут какую-то роль играет файловая система. Подскажите, какую можно использовать, либо с чего начать читать, где более-менее расписано как это работает и как настроить.
Для начала перестаньте синкать после каждого сообщения если у вас тысячи или сотни в секунду.
Определите и согласуйте(если требуется) допустимый уроверь потери сообщений. Т.е. если сервак будет дернут по питанию, какие потери допустимы.
Я думаю как минимум раз 1000 сообщений достаточно синхронизироваться. Но все зависит от проекта конечно. Просто так часто дергать синк на обычом жд или даже домашнем ссд это только ради того чтобы их угробить.
Тут не я синкаю, а ActiveMQ, который из коробки так работает. Суть понятна, можно покрутить настройки и т.п., но исходя из тестов на разных машинах разница почти в 20 раз с одинаковыми настройками. И я хочу понять, почему)
vlad_molchanov: ну разница между жд и ssd я думаю понятна? Разница между жд ноута и рабочей тачки под вопросом. Но я думаю все дело в ней. Либо еще возможно Ubuntu загружена больше.