Мой AWS экземпляр прослушивает подключение к веб-сокету в качестве клиента и записывает данные, которые он получает, в локальную базу данных influenxdb. Данные отправляются в виде небольшого JSON и хранятся в буфере, пока они не будут записаны в базу данных infxdb. Сервер веб-сокетов может отправлять до 400 JSON в секунду (промежуток между JSON 2,5 мс), хотя иногда этот разрыв может быть больше в зависимости от внешних факторов.
Мне нужно иметь возможность обрабатывать и записывать каждое измерение со скоростью, превышающей скорость, с которой сервер веб-сокетов может отправлять данные. Я должен также упомянуть, что я не смог бы записать измерения в большом количестве (?), Так как они должны быть записаны в БД, как только они будут получены экземпляром AWS.
В настоящее время с SSD, который я выбрал, макс. IOPS составляет 10000 (io1), а процентиль производительности составляет
0.1 15.4874
0.2 18.5304
0.3 21.6218
0.4 25.2372
0.5 30.0340
0.6 36.5352
0.7 50.9232
0.8 89.5916
0.9 221.9764
Name: insertDuration, dtype: float64
Произошло значительное улучшение при переходе со 100 IOPS до 4000 IOPS SSD. Но теперь, как вы можете видеть, цель 90-го процентиля должна быть меньше 2,5 мс, но она на порядок выше!
Насколько я понимаю, IOPS можно увеличить до 32 000, что я могу попробовать, но Я не ожидаю впечатляющего улучшения от одного только этого, учитывая, что не было большого улучшения от 4000 до 10000 IOPS.
Могу ли я попытаться ускорить время записи?
Стоит ли помнить о том, что influenxb это плохой выбор для этого варианта использования?