Ну, тут, есть несколько моментов
- Сама по себе скорость 1k инсертов в секунду не является запредельной ни для какого хранилища на нормальном железе.
Ну вот, например, постгрес.
- Вопрос: что вы с этими данными потом делаете?
Судя по десяти индексам вы одновременно из этой же таблицы активно читаете и это, наверное, не совсем разумно.
Если у вас куча инсертов приходят всплесками, то проще сначала вставить данные в таблицу без индексов ( prepared statements, по X строк в стейтменте, Y стейтментов в транзакции, где X и Y надо твикать в зависимости от железа ), а потом уже построить индексы. Если возможно, может быть вообще сделать "COPY ... BINARY " вместо инсертов.
Можно также копировать в UNLOGGED таблицу без индексов, а потом либо сделать ее LOGGED, либо спокойненько скопировать уже в нормальные таблицы из которых уже читать.
>> Потом она падает в ноль
Чекпоинт видимо пришел. Его можно отложить в настройках