constraint) | occurance
Нужно увеличивать occurance на единицу для строки, если вставляется строка с существующим key.
Наивное решение сделать это средствами pg используя upsert on conflict.
Количество вставок предполагается до ~2k/sec. Предполагаемое количество конфликтов при вставке ~50%.
Вопрос: нормально ли переживет pg около 1000 обновлений в секунду. Если да, то нужно ли сразу смотреть в сторону уменьшения fillfactor?
Сгенерируйте тестовые данные да и померяйте, на своём железе / нагрузке / ситуации, да и всё.
Да, но я хотел услышать еще об опыте других людей.
> Вопрос: нормально ли переживет pg около 1000 обновлений в секунду. тут отчасти производительность будет зависесть от дисковой подсистемы - по идее если такой поток записи более/менее постоянен, то диски должны вывозить и саму запись и периодически выполняющиеся фоновые чекпоинты во время которых может проседать производительность основных инсертов. поэтому если будете делать тесты, делайте их продолжительные по времени (10-20-30 минут)
вцелом есть инсталляции где 2k инсертов не проблема, да и железо тоже не сказать что космос
тут скорее вопрос в обновлениях, на другом проекте вставлял тоже 2-3к и все было ок.
Вы понимаете, что у некоторых людей "железо" на том, что они называют "сервером" похуже, чем в любом современном смартфоне; а у других, например (первое, что вспомнилось) 1.5 TB, 40 cores, 512G ram, 10 SSD x RAID10 — это "базовый" сервер под любой новый кластер (т.е. таких много "в запасе")? И вот толку Вам от этого? ;)
Понимаю, но можно попробовать аппроксимировать чужие цифры на свои.
Обсуждают сегодня