Jah*_*tal 0 postgresql performance-testing postgresql-9.1
我在Digital Ocean的8gb Ram/4 CPU/80gb SSD云服务器上测试PostgreSQL.我最初使用postgresql.conf中的默认设置运行PgBench,然后更改了一些常用设置 - shared_buffers,work_mem,maintenance_work_mem,effective_cache_size - 以反映8gb的RAM.在运行第二组测试后,我注意到我的一些结果实际上更糟.有关为什么会这样的任何建议?我对PgBench很新,并且总体上调整了PostgreSQL.
设置:
测试:
这些测试的效果如何?这是雇用PgBench的有效方式吗?我应该如何自定义测试以正确反映我的数据和服务器实例?
什么意思是"更糟"?你运行pgbench多久了?对于实际值,此测试应至少执行2小时.你有什么版本的PostgreSQL?
注意:您应该非常小心解释pgbench结果.您可能应该优化应用程序的执行,而不是pgbench.pgbench适用于hw或sw检查,是优化PostgreSQL配置的糟糕工具.
提到的配置变量是配置的基础,你可能不会错在那里(服务器不能主动使用交换 - 这些变量可以确保它).
我使用的公式:
-- Dedicated server 8GB RAM
shared_buffers = 1/3 .. 1/4 dedicated RAM
effecttive_cache_size = 2/3 dedicated RAM
maintenance_work_mem > higher than the most big table (if possible)
else 1/10 RAM
else max_connection * 1/4 * work_mem
work_mem = precious setting is based on slow query analyse
(first setting about 100MB)
--must be true
max_connection * work_mem * 2 + shared_buffers
+ 1GB (O.S.) + 1GB (filesystem cache) <= RAM size
通常,WAL缓冲区大小和检查点段的默认值也太低.你可以增加它.
| 归档时间: |
|
| 查看次数: |
1930 次 |
| 最近记录: |