PostgreSQL 性能优化.doc

PostgreSQL 性能优化.doc

ID:48654938

大小:158.00 KB

页数:32页

时间:2020-02-27

PostgreSQL 性能优化.doc_第1页
PostgreSQL 性能优化.doc_第2页
PostgreSQL 性能优化.doc_第3页
PostgreSQL 性能优化.doc_第4页
PostgreSQL 性能优化.doc_第5页
资源描述:

《PostgreSQL 性能优化.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PostgreSQL 性能优化1.硬件数据库最重要的就是I/O了。所以一切从I/O开始。RAID:这个基本不用说,数据库放RAID10上面,只读的备份数据库可以放RAID0,反正挂了没关系。谨记:数据库是RandomReadRAID卡的选择:RAID卡一定要带电池的才可以(BBU)有电源的才能做到东西写进CACHE,RAID就返回硬盘写成功(不用等)1.Areca2.LSI(真正的LSI,re-brand不要)3.HPP400以上系列硬盘选择:首选是SAS:15KRPM每个SAS大约能提供25MB/s的RandomWrite。也就是说在RAID10的设定下,如果需要50MB/s的

2、RandomWrite就需要4个硬盘节俭选择是:SATA可以多用几个硬盘(SAS一倍数量)达到在RAID10中接近SAS的速度。就算SATA买SAS一倍的数量,价格仍然比SAS便宜。也可以买产品:例如Compaq的MSA70(P800BatterybackedRAIDcontrol)CPU:64位Cache:越大越好(现在个人电脑都3M的cache了)CORE:越多越好(postgresql毕竟是跑cpu的)建议最少4个coreRAM:最少4G。通常根据具体需求,用16-64G的RAM2.OS(系统)可用系统:1.DebianStable2.CentOS3.UbuntuLTS4.

3、RedHat5.SUSE可编辑word,供参考版!Enterprise如果准备付费(服务),那么就是Canonical,Novell跟Redhat这三家选择而已如果准备不买任何服务,可以用Debian,CentOS,UbuntuLTS这里还是觉得系统用RedHat(不付费就CentOS)毕竟人家是企业级的老大哥,错不了。*现在CentOS也可以买到服务了。不可用系统:例如fedora(redhatQA)ubuntu(non-LTS)Scheduler:Grub增加:elevator=deadlineredhat的图标可以看出,deadline是数据库的最佳选择文件系统(Files

4、ystem)这里的选择是:ext2,ext3跟ext4。为什么只考虑这几个呢?因为数据库还是稳定第一,内核开发人员所做的文件系统,理论上说出问题的情况会少点。WAL:放ext2因为WAL本身自己有Journal了,不需要用ext3(ext2快很多)data:ext3BlockSize:postgres自己是8k的blocksize。所以文件系统也用8k的blocksize。这样才能最佳的提高系统的效能。ext4:出来时间还不够长,不考虑。分区(Partitioning)Postgres跟系统OS应该在不同分区系统(OS):系统应该放独立的RAID1数据库(PostgresData

5、):数据库应该放独立的RAID10上。如果RAID是带电池的,mount的时候给可编辑word,供参考版!data=writeback的选项独立的数据库分区,就不许要记录文件时间了(都是放数据的)所以mount的时候要给noatime的选项,这样可以节约更新时间(timestamp)的I/O了。WAL日志(xlogs):独立的RAID1上(EXT2系统)日志是Sequentialwrite,所以普通的硬盘(SATA)速度就足够了,没有必要浪费SAS在log上Postgresql日志(logs):直接丢给syslog就可以。最好在syslog.conf中设定单独的文件名.这里例如用

6、local2来做postgresqllocal2.*-/var/log/postgres/postgres.log记得log要给Async,这样才不会等卡在log的I/O上,同时记得设定logrotate以及创建路径(path)ext2VSext3性能测试:HPDL5854DualCore8222processors64GBRAM(2)MSA70directattachedstoragearrays.25spindlesineacharray(RAID10)HPP800Controller6DiskinRAID10onembeddedcontrollerxlogwithext3:

7、avg=87418.44KB/secxlogwithext2:avg=115375.34KB/sec3.Postgres内存(MemoryUsage)SharedBufferCacheWorkingMemoryMaintenanceMemorySharedBuffersPostgres启动时要到的固定内存。每个allocation是8k。Postgres不直接做硬盘读写,而是把硬盘中的东西放入SharedBuffers,然后更改SharedBuffers,在flush到硬盘去。通

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。