SlideShare a Scribd company logo
Linux下的数据库优化
   for PostgreSQL




   演讲:萧少聪
   邮箱:scott.siu@enterprisedb.org.cn
内        容

自我介绍

Linux操作系统优化

PostgerSQL数据库优化

Postgres-XC项目预览
自我介绍
程序 -> 系统 -> 数据库
红帽认证架构师 RHCA
参与篇写《Linux系统案例精解》
EnterpriseDB数据库产品经理
凑备enterprisedb.org.cn社区
深信开源可以带来真正的IT革命
操作系统优化
操作系统优化思路
问题重现,理解运作过程
性能监控
 top vmstat free ps iostat sar ...
 nmon mrtg cacti nagios ...
分析及记录
 输出重定向 日志 图表(Gnuplot、Excel)...
性能调整
对比 -> 性能调整
问题重现,理解运作过程
流程图
 便于了解运作过程
 各关键环节负责人
问题预测
问题重现
设计测试流程
性能监控及分析工具
ntp 时间服务
top free 实时的系统情况
iostat sar 系统运行记录
Gnuplot
nmon
iostat sar
[root@server1 ~]# ls –l /var/log/sa
总计 10428
-rw-r--r-- 1 scott scott 580848 2008-11-01 sa01
-rw-r--r-- 1 scott scott 577424 2008-11-02 sa02
-rw-r--r-- 1 scott scott 580848 2008-11-03 sa03
-rw-r--r-- 1 scott scott 580848 2008-11-04 sa04
-rw-r--r-- 1 scott scott 578672 2008-10-28 sa28
-rw-r--r-- 1 scott scott 580848 2008-10-29 sa29
-rw-r--r-- 1 scott scott 580848 2008-10-30 sa30
-rw-r--r-- 1 scott scott 580848 2008-10-31 sa31
-rw-r--r-- 1 scott scott 633705 2008-11-01 sar01
-rw-r--r-- 1 scott scott 614991 2008-11-02 sar02
-rw-r--r-- 1 scott scott 633714 2008-11-03 sar03
                    [root@server1 ~]# sar -b -f /var/log/sa/sa04
-rw-r--r-- 1 scott scott 628709 2008-10-27 sar27
                    Linux 2.6.18-92.el5 (rac1)      10/05/2008
-rw-r--r-- 1 scott scott 620661 2008-10-28 sar28
-rw-r--r-- 1 scott scott 633705 2008-10-29 sar29
-rw-r--r— 1 scott scott 633705 2008-10-30 sar30 rtps
                    12:00:01 PM        tps                wtps   bread/s   bwrtn/s
                    12:10:01 PM     423.63    29.29     394.34    637.68   3852.12
-rw-r--r-- 1 scott scott 633705 2008-10-31 sar31
                    12:20:01 PM     419.81    24.26     395.55    495.33   3881.80
                    12:30:01 PM     421.92    33.01     388.90    777.04   3849.28
                    12:40:01 PM     420.26    30.92     389.34    712.69   3879.17
Gnuplot (1)
[root@server1 ~]# LANG=C sar -P ALL -f /var/log/sa/sa04 | awk '/^[012]/ {print $0}' | grep
all > cpu.dat
[root@server1 ~]# LANG=C sar -b -f /var/log/sa/sa04 | awk '/^[012]/ {print $0}' > io.dat
此处生成了两个规则的数据文件,以cpu.dat为例说明此组合命令:
LANG=C                         以24小时为时间统计标准
sar -P ALL -f /var/log/sa/sa04 获得所有CPU负载数据
awk '/^[012]/ {print $0}'      过滤出以0,1,2开始的行
grep all                       过滤出带有all字眼的行


[root@server1 ~]# gnuplot
gnuplot> set xdata time
gnuplot> set timefmt "%H:%M:%S"
gnuplot> set xlabel "TIME"
gnuplot> set ylabel "CPU/IO"
set xdata time                 配置当前X轴的数据为时间
set timefmt “%H:%M:%S”         配置时间的显示格式
set xlabel “TIME”              命名X轴为“TIME”
set xlabel “CPU/IO”            命名X轴为“CPU/IO”

通过cpu.dat文件的第3列输入数据,图表名字为CPU,以直线方式连接数据点,并生成图表
gnuplot> plot "cpu.dat" using 1:($3) title "CPU" with lines
Gnuplot (2)
通过io.dat文件的第6列并将值缩小10倍输入数据,图表名字为IO,以直线方式连接数据点,并生成图表
叠加到原有图表中
gnuplot> replot "io.dat" using 1:($3/10) title "IO" with lines
nmon
性能调整 (总则)
 最常见的性能瓶颈
  I/O,包括:磁盘、文件系统、网络
  内存不足,导致swap
  CPU处理
  应用程序问题
性能调整 (磁盘I/O)
 优化思路
  处理能力:转速、缓存、带宽
  运作方式:减少读写混合,减少寻道时间
性能调整 (磁盘I/O)
 /sys/block/<device>/queue/scheduler
   CFQ:公平算法,适用于大部份系统应用
   Deadline:适用于数据库等块操作应用
   Anticipaory:适用于文件服务器ftp/samba等
   NOOP:适用于带有TCQ的磁盘
性能调整 (文件系统I/O)
 noatime:不更新的访问时间
 commit:数据同步间隔时间
 data:日志模式
   ordered
   writeback
   journal



 mount /dev/sdaX -o noatime,commit=N,data=writeback
性能调整 (网络I/O)
 Total buffers = Bandwidth * Delay Time
   UDP优化参考
   Bandwidth
   修改文件/etc/sysctl.conf加入以下几行:
   1000M网:1000(Mebibits) / 8(bit) = 125(MiB)
   net.ipv4.udp_rmem_min = 1966080
   net.core.rmem_default = 1966080
   Delay Time = 2949120
   net.core.rmem_max
   ping网关:xxxxxxxxxxxx time=15 ms
   net.ipv4.udp_wmem_min = 1966080
   net.core.wmem_default = 1966080
   125(MiB) * 0.015(s) = 1.875 (MiB) = 1966080(Bytes)
   net.core.wmem_max = 2949120

   [root@server1 ~]# sysctl -p
   TCP优化参考
   修改文件/etc/sysctl.conf加入以下几行:
   net.ipv4.tcp_rmem = 1966080 1966080 2949120
   net.ipv4.tcp_wmem = 1966080 1966080 2949120

   [root@server1 ~]# sysctl -p
性能调整 (CPU、内存)
 多核CPU性能优化
 IRQ
 [root@server1 ~]#   cat /proc/interrupts
            CPU0         CPU1       CPU2        CPU3
 ……
  10:         22           0           0        203    IO-APIC-level eth0
 ……
 [root@server1 ~]#   chkconfig irqbalance off
 [root@server1 ~]#   reboot
 [root@server1 ~]#   cat /proc/interrupts
            CPU0         CPU1       CPU2      CPU3
 ……
  10:        210           0          0           0    IO-APIC-level eth0

 Process
 [root@server1 ~]#taskset 0x00000001 -p 15748



 内存:chkconfig关闭不用的服务
PostgreSQL数据库优化
PostgreSQL优化思路
 合理的参数配置
 分散I/O操作
 使用适合的索引
 独特的数据类型
 专业版本的增强
合理的参数配置
    根据实际应用情况配置postgresql.conf
        是否要求冗机时数据完全不丢失
        在系统崩溃时可接受多少数据丢失
        数据库的读写比例
        ……

    不要期望由此可以得到巨大的性能提高
一个不错的优化说明:http://ruimemo.wordpress.com/2010/03/31/postgresql-
    performance-and-maintenance-(postgres-优化与维护/
分散I/O操作
 独立的Data
 独立的WAL
 独立的index
 独立的pg_log
 表分区



             Data   WAL
使用适合的索引
B-tree、Hash、GiST、GIN
考虑以下问题
 你正在做短信系统,基于庞大的电话号码查询
 如:010-88888888
 你在做财务系统,基于庞大的财务数据做查询
函数索引
 对电话号码字段索引,md5(phone)
部份索引
 只对6个月内的财务数据进行索引
独特的数据类型(1)
 考虑以下问题
  存储地区抵属关系/货品分类关系的表
  存储IP数据的表
 ltree数据类型
  如:中国.北京.海淀
  结合CLUSTER(簇)使用
 网络数据类型
  如:192.168.0.1/24   08:00:2b:01:02:03
独特的数据类型(2)
 考虑以下问题
  正在做物流系统,要判断各地路程及运费
  正在做城市管理系统,要进行自定义规划
 空间数据类型(GIS)
  如:点、线、块、3D等
  如:长度、面积、交点统计等
专业版本的增强
                --EnterpriseDB企业版

Infinite Cache
  透明的数据库二级缓存(本服务器/添加节点)
  可无限扩展二级缓存节点
  性能可达近10倍提升
DynaTuneTM 自动性能调整
查询优化标记(Hints)
  select /*+ NO_INDEX */ empno from emp;

EDB*Loader导入
  跳过SQL解析将格式数据直接导入数据库文件
Postgre-XC项目预览
什么是Postgres-XC
 Multi-Master可扩展Postgres集群
 NTT及EnterpriseDB公司合作开发(LGPL)
 当前最新版本v0.9.2
 性能:TPC-W(DBT-1)测试
  测试环境:5台服务器
  达到原PostgreSQL单机3.4X性能
 V1.0版本预计2010年12月推出
Postgres-XC架构
Postgres-XC特性
 Shared-nothing
 读/写均可扩展,适用于各种OLTP环境
 可通过任何Coordinator操作
 支持PG-XC Servers间的分区及复制
 可指定分区模式
  Hash
  Range(future)
性能表现




• 整体性能表现很好
• 有很好的可扩展性能
   - 当前版本可达10台Server以上
• 相对单个PG-XC(PG-2)没有明显性能下将
• 是什么影响了活加节点时的性能
   - 添加服务器会使通信增加
   - 添加服务器会增加2阶段提交 (消耗极少)

* 以上的性能数据是最坏的情况,测试时PostgreSQL单机上的CPU使用率就达到了100%。如
果在一般的测试场景下性能会更好。
谢谢!


演讲:萧少聪
邮箱:scott.siu@enterprisedb.org.cn

More Related Content

PDF
Tpcc mysql
PPT
Mysql展示功能与源码对应
ODP
PPT
如何学习Bash Shell
DOC
MySQL 6.0 下的cluster + replicate - 20080220
PPT
Altibase管理培训 安装篇
PDF
PostgreSQL 9 Standby
PDF
九州通 Tsm重新配置文档(2008 11 10)
Tpcc mysql
Mysql展示功能与源码对应
如何学习Bash Shell
MySQL 6.0 下的cluster + replicate - 20080220
Altibase管理培训 安装篇
PostgreSQL 9 Standby
九州通 Tsm重新配置文档(2008 11 10)

What's hot (20)

PDF
ch13-pv1-system-calls
PPT
云计算环境中Ssd在cassandra测试的性能表现
PDF
Mysql fast share
PDF
Introduction to FreeBSD commands
PDF
ch7-pv1-modules
PPTX
揭秘家用路由器Ch10 sharing
PPT
Hadoop平台搭建
PDF
Golang advance
PDF
Linux基础
PDF
分布式系统缓存设计
PDF
分布式系统缓存设计
PDF
TomCat迁移步骤简述以及案例
PDF
Mysql集群
PPT
构建ActionScript游戏服务器,支持超过15000并发连接
PPT
Log analytics
PPTX
Bigdata 大資料分析實務 (進階上機課程)
DOC
康盛创想项目部Linux 服务器部署标准(最新版)
PDF
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
DOCX
Oda安装 恢复步骤
DOC
X64服务器 lamp服务器部署标准 new
ch13-pv1-system-calls
云计算环境中Ssd在cassandra测试的性能表现
Mysql fast share
Introduction to FreeBSD commands
ch7-pv1-modules
揭秘家用路由器Ch10 sharing
Hadoop平台搭建
Golang advance
Linux基础
分布式系统缓存设计
分布式系统缓存设计
TomCat迁移步骤简述以及案例
Mysql集群
构建ActionScript游戏服务器,支持超过15000并发连接
Log analytics
Bigdata 大資料分析實務 (進階上機課程)
康盛创想项目部Linux 服务器部署标准(最新版)
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
Oda安装 恢复步骤
X64服务器 lamp服务器部署标准 new
Ad

Viewers also liked (12)

PDF
Chinacache一站式开发和应用部署环境
PDF
Open generation mikkopuhakka-keynote-4
PDF
linux 下的音乐学习
PPT
Cloud ID
PPT
&#22303;&#20304;&#24066;&#20154;&#27177;&#25945;&#32946;&#31532;4&#22238;&#12...
PDF
Sharism In Action
PDF
Mee go是您的新机遇
PPTX
Open sourcecamp 2010-openisthefuture-1.0-beijing-cn
PDF
Community Driven Innovation 200911
PDF
Cisco cloud strategy cisco
PPT
Costing system
Chinacache一站式开发和应用部署环境
Open generation mikkopuhakka-keynote-4
linux 下的音乐学习
Cloud ID
&#22303;&#20304;&#24066;&#20154;&#27177;&#25945;&#32946;&#31532;4&#22238;&#12...
Sharism In Action
Mee go是您的新机遇
Open sourcecamp 2010-openisthefuture-1.0-beijing-cn
Community Driven Innovation 200911
Cisco cloud strategy cisco
Costing system
Ad

Similar to Osc scott linux下的数据库优化for_postgresql (20)

PPT
Optimzing mysql
PDF
Mysql handlersocket
PDF
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
PDF
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
PDF
服务器基准测试-叶金荣@CYOU-20121130
PDF
Install Oracle11g For Aix 5 L
PPTX
Avm2虚拟机浅析与as3性能优化(陈士凯)
PPTX
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
PDF
Java线上应用问题排查方法和工具(空望)
PPTX
Avm2虚拟机浅析与as3性能优化
PDF
Asm+aix
DOCX
Linux性能监控cpu内存io网络
PPTX
Glider
PDF
Oracle10g Rac Configuration For Linux X86
PDF
我对后端优化的一点想法
PPT
数据库性能诊断的七种武器
PDF
Hadoop+spark實作
 
PDF
Oracle中比对2张表之间数据是否一致的几种方法
PDF
Sql调优clustering factor影响数据删除速度一例
PPT
0118 Windows Server 2008 的伺服器核心 (Server Core)
Optimzing mysql
Mysql handlersocket
【Maclean liu技术分享】开oracle调优鹰眼,深入理解awr性能报告 第二讲 正式版 20130410
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
服务器基准测试-叶金荣@CYOU-20121130
Install Oracle11g For Aix 5 L
Avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
Java线上应用问题排查方法和工具(空望)
Avm2虚拟机浅析与as3性能优化
Asm+aix
Linux性能监控cpu内存io网络
Glider
Oracle10g Rac Configuration For Linux X86
我对后端优化的一点想法
数据库性能诊断的七种武器
Hadoop+spark實作
 
Oracle中比对2张表之间数据是否一致的几种方法
Sql调优clustering factor影响数据删除速度一例
0118 Windows Server 2008 的伺服器核心 (Server Core)

More from OpenSourceCamp (20)

PDF
What is Co-Working
PDF
Community Driven Innvoation
PDF
Open Source community 2.0
PDF
MeeGo and Community
PPT
Taobao toper
PPT
OpenSourceCamp Introducation
PDF
Open Source In Enterprises Apache2009 Beijing Jack Cai
PDF
Intalio Works 20091128 Beijing
PDF
Building A Winning Strategy For Open Source Company Beijing Nov2009
PDF
Nov 2009 Apache Asia Road Show Schedule 20091123
PDF
28 Nov 2009 Open Source Camp Schedule
PDF
Open Source Camp Intro En 20091012
PPT
Open Source Camp Intro
PDF
Open Mind
PDF
Axp Introduce In China Open Source Forum 2008
PDF
Ow2 Ten Minute Prez
PDF
Proactum Platform Annti
ODP
PDF
How To Be Open Source Contributor
What is Co-Working
Community Driven Innvoation
Open Source community 2.0
MeeGo and Community
Taobao toper
OpenSourceCamp Introducation
Open Source In Enterprises Apache2009 Beijing Jack Cai
Intalio Works 20091128 Beijing
Building A Winning Strategy For Open Source Company Beijing Nov2009
Nov 2009 Apache Asia Road Show Schedule 20091123
28 Nov 2009 Open Source Camp Schedule
Open Source Camp Intro En 20091012
Open Source Camp Intro
Open Mind
Axp Introduce In China Open Source Forum 2008
Ow2 Ten Minute Prez
Proactum Platform Annti
How To Be Open Source Contributor

Osc scott linux下的数据库优化for_postgresql