jap*_*968 10 postgresql performance configuration
我对 PostgreSQL 比较陌生。一个月前,我开始将一些 MySQL 数据库迁移到 PostgreSQL。
我正在寻找有关配置文件的正确内存值的帮助。
目前,我有一个适度的专用服务器(2GB 的 RAM)在 Linux 下运行 Apache、MySQL 和 PostgreSQL。MySQL 主数据库的大小大约是 PostgreSQL 主数据库的 3 倍,数据流量也是如此。
我仍然有 PostgreSQL 的默认配置文件,参数为 shared_buffers = 32MB
. 我假设我应该增加这个值,但我不想惩罚其他数据库。我读过一些关于将 25% 的物理可用内存专用于 PostgreSQL 的内容,但我不确定这一点。
新数据库包含七个表,最大的一个大约有 3 MM 行。该机器目前的流量较低(每天服务约 10000 ~ 20000 个选择),但这些值预计会增长。
我正在考虑将 shared_buffers 增加到 256MB,但我想听听对这个 RDBMS 有更多经验的用户的一些意见。
我会避免将 MySQL和PostgreSQL 放在同一台服务器上。他们争夺相同的资源。如果可以的话,将所有内容移植到一个 RDBMS 上。我显而易见的选择是 PostgreSQL。
然后您可以设置shared_buffers
为 500 MB 和effective_cache_size
1.5 GB 之类的值。请务必阅读手册中的提示。
但我还建议添加更多物理内存。2 GB 并不算多。对于数百万行的良好性能来说还不够。多几 GB 的 RAM 应该不会花费太多。
如果您必须坚持您的设置,Postgres 250 MB 似乎是合理的。如果 MySQL 的流量是原来的三倍,那么整体而言,流量越少越好。比如128MB。