怎样调整PG数据库能获得比较好的性能?
收起这话题有点大!回答起来有些难度,主要是怎么回答都有不足的地方。尽量多写一点:
1 服务器的选择:cpu 尽量找高的主频,这个很重要!!!内存差不多就行64 32 甚至16GB都也能凑合。 磁盘最好用ssd当然是最好的,尽量做个raid1。现在ssd真的也便宜了。要是重要的数据库就要弄个流复制(可以大的sql查询放在从库做也是个不错的选择)。
2 数据库的本身参数: 尽量用linux 系统去做事情,而且尽量用次新版本的最高小版本去源码安装数据库。自己编译安装的数据库企业内部好管理。具体的参数自己看一下
https://www.talkwithtrend.com/Document/detail/tid/449505 这是我当时整理的所有参数。
3 然后就基本开发了。1 临时表的应用 2 分区表的应用 3 长短session 的应用 4 sql的写法问题,表的设计,索引的建立等等。各个方面都很多。
4 基本套路问题。要找到慢的原因,相对ap系统好搞一些。看log 执行最慢sql就行可以。针对sql就可以优化,当时很多业务通过sql 是解决不了的,比如前端报表就是统计1个月的某个统计,类似这样的问题,你就把数据提前准备好,比如你一天一统计一个值,放到day表里,那么前端的月报就从这个day表里出。tp系统就比较难,要对最频繁的sql 做优化处理,而且对锁的处理要重点注意。
5 优化是个闹心的事,是对整个数据库评价的最重要的因素。基本pg对仓库 20T 以下。pg对事物的数据库处理每秒 500个事务的处理是绝对没有问题的。就不要怀疑是数据库的问题,自己找原因就行。哈!