Scaling PostgreSQL at multicore Power8
От | YUriy Zhuravlev |
---|---|
Тема | Scaling PostgreSQL at multicore Power8 |
Дата | |
Msg-id | 3368228.mTSz6V0Jsq@dinodell обсуждение исходный текст |
Ответы |
Re: Scaling PostgreSQL at multicore Power8
Re: Scaling PostgreSQL at multicore Power8 |
Список | pgsql-hackers |
Hello hackers Recently, we were given access to the test server is IBM, 9119-MHE with 8 CPUs * 8 cores * 8 threads. We decided to take advantage of this and to find bottlenecks for read scalability (pgbench -S). All detail you can read here: http://www.postgrespro.ru/blog/pgsql/2015/08/30/p8scaling Performance 9.4 stopped growing after 100 clients, and 9.5 / 9.6 stopped after 150 (at 4 NUMA nodes). After research using pref we saw that inhibits ProcArrayLock in GetSnaphotData. But inserting the stub instead of GetSnapshotData not significantly increased scalability. Trying to find the bottleneck with gdb, we found another place. We have noticed s_lock in PinBuffer and UnpinBuffer. For the test we rewrited PinBuffer and UnpinBuffer by atomic operations and we liked the result. Degradation of performance almost completely disappeared, and went scaling up to 400 clients (4 NUMA nodes with 256 "CPUs"). To scale Postgres for large NUMA machine must be ported to the atomic operations bufmgr. During our tests, we no found errors in our patch, but most likely it is not true and this patch only for test. Who has any thoughts? -- YUriy Zhuravlev Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Вложения
В списке pgsql-hackers по дате отправления: