Pull to refresh

Comments 21

Какая-то у вас эскпресс-похвала получилась. И если с AWS опыт есть (т.е. понятно, за что платишь в т.ч. и в исторической перспективе, да и у AWS уже есть понимание, что они могут продавать и как), то с новопоявившимся сервисом период устаканивания ещё впереди.


И это — если с сервисом ничего не случится политически.


Спасибо за данные!

Вы правы, но AWS не работает в России, а для некоторых проектов это — обязательное требование :(

Что касается похвалы, то не очень понял, о чём вы? Я постарался привести только голые цифры. Наоборот, я указал, что у Яндекса еще полно косяков, пока каждый третий затык решается только через тех. поддержку.
Строго говоря, есть еще альтернатива в виде аренды физических серверов и использования какого-нибудь Kubernetes поверх (или вообще по-старинке :)). По деньгам, начиная даже с не очень большого объема, получается не дороже, но намного понятней, производительней, и баги в основном только те, что вы сами допустили при настройке :).
Да конечно, альтернатив много… Но это уже оффтоп )

Базы данных есть еще и у Mail.ru Cloud

pgbench -i -s 100

Это ведь ~ 1,5 ГБ данных. При 32 ГБ памяти все данные влезут в кэш.

pgbench -c 10 -T 60

10 соединений для данных ресурсов (8 ядер) явно маловато. По сути получился тест, который гарантированно упрётся в I/O на запись. В таком случае имеет смысл попробовать в Yandex Managed PostgreSQL при создании выбрать local-nvme, они быстрее.

Я бы для данных ресурсов инициализировал со scaling factor 1000. И ещё интересно было бы посмотреть стрельбу, которая в процессор упрётся, вроде такой:
pgbench -j 4 -c 32 -T 60 --select-only
В таком случае имеет смысл попробовать в Yandex Managed PostgreSQL при создании выбрать local-nvme, они быстрее.

Да, в первую очередь конечно интересовал диск. Результат Яндекса с 1226 TPS — это именно на диске local-nvme.

И ещё интересно было бы посмотреть стрельбу, которая в процессор упрётся

Отличная мысль, спасибо! Попробую как руки дойдут, дополню.
Я правильно понял, что получилось 1309 TPS на виртуалке с network-nvme и 1226 TPS в managed postgresql с local-nvme?
<сообщение удалено>

Прошу прощения! Написал ответ и понял, что на MDB у меня тоже был network-nvme!
Вспомнил, почему хотел, но не смог протестировать local-nvme: похоже очередной баг в интерфейсе, не дает возможности запустить кластер с этим диском из-за якобы превышенных квот. Решают этот вопрос с тех. поддержкой, когда решится — протестирую с этим диском.
Простите за рекламу удивили такие низкие показатели у Selectel/Yandex

Ради интереса выполнил тест у себя на площадке Ceph/SSD

postgres@pgbench:/root$ pgbench -c 10 -T 60
starting vacuum...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 100
query mode: simple
number of clients: 10
number of threads: 1
duration: 60 s
number of transactions actually processed: 147188
latency average = 4.077 ms
tps = 2452.820979 (including connections establishing)
tps = 2452.964261 (excluding connections establishing)
Это виртуальная машина или физическая?
на площадке Ceph/SSD

Т.е. данные постгреса лежали на томе RBD? И если не секрет — какой размер кластера и что за сетка между нодами?

Если по SSD 1134GB RAW

Да данные базы лежат на rbd который подключен по infiniband сети стандарт FDR у нас все хранилище на infiniband
Если по SSD 1134GB RAW

Т.е. количество OSD тоже совсем небольшое, порядка 10?


В общем-то вопрос был к тому, что видел много FUDа, что ceph rbd не годится для баз данных, и ceph плохо работает на совсем маленьких кластерах, но ваш пример похоже показывает совершенно обратную картину.

Прошу прощения ввел в заблуждение Вас ошибся метрикой там 1134TB.

Понял, спасибо

яндекс очень бурную активность в этом году устроил
Для сравнения, на ноуте. Система чистая. Т.е. кроме ОС и PostgeSQL ни чего не стоит.

— Ubunty-Mate 18.04.1 х64. Настройки стандартные.
— PostgreSQL 11.1 (который про, для 1С). Настройки стандартные.
— intel core duo T5850 2,1Ггц. SSD Samsung 960 evo 250Гб. Ram 3 Гбайта.

pgbench -i -s 100

pgbench -c 10 -T 60: tps = 1169

pgbench -c 99 -T 120: tps = 1113

pgbench -c 99 -T 120 -j2: tps = 1201

pgbench -c 99 -T 120 -j4: tps = 1197

pgbench -i -s 1000

pgbench -c 10 -T 60: tps = 1009

pgbench -c 99 -T 120: tps = 1011

pgbench -c 99 -T 120 -j2: tps = 1064

pgbench -c 99 -T 120 -j4: tps = 1048

Размер базы получился при -s 1000 г-то 15 Гбайт.
Windows 10
i7-7700K @4.66GHz | 32GB RAM | Samsung 960 EVO
PostgreSQL 10.11

Настройки по рекомендации pgTune

pgbench -i -s 100
pgbench -c 10 -T 60: tps = 7430
pgbench -c 10 -T 60 --select-only: tps = 46469
Sign up to leave a comment.

Articles