Я не хочу разочаровывать, но я сомневаюсь, что вы получите очень полезный ответ на этот вопрос, потому что здесь слишком много переменных (файловая система кластера, асинхронный ввод-вывод, O_DIRECT
, и т. д.), и если кто-то не очень хорошо знаком с вашей настройкой, лучшее, что можно сделать, это дать вам расплывчатый совет.
Полагаю, вам следует начать с попытки определить, является ли медленная реальная запись или же вызов асинхронного обработчика обратного вызова занимает много времени. Вы можете попробовать заменить вызовы на aio_write
обычными синхронными вызовами с записью. Кроме того, размеры записи, которые вы упоминаете, кажутся довольно маленькими, так почему вы используете O_DIRECT
? Я думаю, что O_DIRECT
уменьшит производительность, если будет много мелких записей.