您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Postgresql_架构性能验证
i目录第1章POSTGRESQL测试结果说明.......................................................................1-1§1.1功能....................................................................................................................3-1§1.2性能....................................................................................................................3-2§1.3安全性....................................................................................错误!未定义书签。§1.4高可用性............................................................................................................3-1§1.5可靠性....................................................................................错误!未定义书签。§1.6可维护性............................................................................................................3-2第2章测试环境说明.............................................................................错误!未定义书签。§2.1硬件........................................................................................错误!未定义书签。§2.2操作系统................................................................................错误!未定义书签。§2.3数据库....................................................................................错误!未定义书签。第3章测试用例说明.........................................................................................................4-2§3.1高可用性测试....................................................................................................4-2§3.2安全性测试........................................................................................................4-9§3.3可靠性测试......................................................................................................4-10§3.3.1读一致性测试..........................................................错误!未定义书签。§3.3.2数据备份测试....................................................................................4-10§3.4性能..................................................................................................................4-11§3.4.1单一DML性能测试...............................................错误!未定义书签。§3.4.2混合DML性能测试...............................................错误!未定义书签。§3.4.3不同模式下混合DML性能测试...........................错误!未定义书签。3-1第1章前言由于“棱镜门”事件后,国家对于信息安全的需求再度攀升,并上升到国家战略高度。目前国内在线事务处理系统数据库大部分采用Oracle,机器采用小型机,存储采用统一存储,这些关键的设备技术都掌握在国外几个大公司中,无论基于安全以及成本考虑,国内的部分厂商都在考虑去”IOE”。国内最大的网络电商淘宝去IOE已经成功,这无疑更刺激了国内一些公司。作为后续技术储备,这里采用开源的postgresql数据库代替传统的oracle进行一些技术方案的验证,寻找后续去IOE过程的有效替代方案。第2章背景本次测试以营销真实数据为基础,从功能、性能、安全性、高可用性、可靠性、可维护性几个方面进行测试验证。第3章Poc结论§3.1高可用性是通过复制技术,来实现双机或多机数据库之间的数据一致性,从而支持高可用性。当一台主机出现故障时,另一主机可立即接管,实现业务的不间断服务。因此,从高可用性的角度讲,postgresql和其它别的数据库产品没有区别,能满足要求。§3.2安全性§3.3可靠性4-2§3.4性能在小数据量,低并发量的场景下,Postgresql数据库并不逊色于Oracle。在复杂SQL语句的处理方面,Postgresql确实没有Oracle强大;统计函数在Postgresql里面效率要低一些。§3.5功能§3.6可维护性第4章测试用例说明§4.1高可用性测试§4.1.1高可用性(流复制模式)主要验证PG9.3+pgpool-II--之HA(Hot-Standby+StreamingReplication)以下验证略去了pg9.3以及pgpool-II的安装以及初始配置。4-3§4.1.1.1结构§4.1.1.2配置上面结构不言自明,那接下来怎么配呢?先说机器配置,建议你都先创建好这些目录:1./var/lib/pgsql/9.3/data6432目录是master数据库的目录,端口为64322./var/lib/pgsql/9.3/data7432目录是一台standy数据库的目录,端口为74323./var/lib/pgsql/9.3/data目录是pgpool-II使用的SystemDB数据库的目录,端口为54324./etc/pgpool-II-3.2/是pgpool-II运行时放pid的目录5./tmp/trigger是主从切换时放trigger文件的目录§4.1.1.3初始化数据库1.initdb-D/var/lib/pgsql/9.3/data64322.initdb-D/var/lib/pgsql/9.3/data74323.打开postgresql.conf修改端口§4.1.1.4安装函数进入安装目录/usr/pgsql-9.3/share/extensionpsql-fpgpool-recovery.sqlpostgres--port=6432psql-fpgpool-regclass.sqlpostgres--port=6432psql-fpgpool-recovery.sqlpostgres--port=7432psql-fpgpool-regclass.sqlpostgres--port=74324-4§4.1.1.5配置HA首先是配置master和standby,二者的postgresql.conf一样一样滴:wal_level=hot_standbymax_wal_senders=1hot_standby=on二者pg_hba.conf也一样(若更复杂的请自行设置):#hostreplicationpostgres::1/128trustlocalreplicationpostgrestrust在master的data目录下放上面介绍的文件basebackup.sh和这个让master远程启动standby的pgpool_remote_start.sh文件。接着修改/usr/local/etc/pgpool.conf:listen_addresses='*'backend_hostname0='localhost'backend_port0=6432backend_weight0=1backend_data_directory0='/var/lib/pgsql/9.3/data6432'backend_flag0='ALLOW_TO_FAILOVER'backend_hostname1='localhost'backend_port1=7432backend_weight1=1backend_data_directory1='var/lib/pgsql/9.3/data7432a'backend_flag1='ALLOW_TO_FAILOVER'pid_file_name='/var/run/pgpool/pgpool.pid'logdir='/var/run/postgres/pgpool'master_slave_mode=onmaster_slave_sub_mode='stream'health_check_user='apache'health_check_password=''failover_command='/usr/local/etc/failover.sh%d%h%p%D%m%M%H%P'failback_command='/bin/rm-f/home/postgres/var/log/pgpool/trigger/'recovery_user='postgres'recovery_password='postgres'recovery_1st_stage_command='basebackup.sh'recovery_2nd_stage_command=''pgpool_remote_start.sh#!/bin/sh#StartPostgreSQLontherecoverytargetnodeif[$#-ne2]thenechopgpool_remote_startremote_hostremote_datadir4-5exit1fiDEST=$1DESTDIR=$2PGCTL=/usr/pgsql-9.3/bin//pg_ctl#$PGCTL-w-D$DESTDIRstart2/dev/null1/dev/null/dev/null&$PGCTL-w-D$DESTDIRstart/null1/dev/null/dev/null&$PGCTL-w-D$DESTDIRstartbasebackup.sh#/bin/sh-xPRIMARY_PORT=6432STANDBY_PORT=7432PRIMARY=/var/lib/pgsql/9.3/data6432STANDBY=/var/lib/pgsql/9.3/data7432master_db_clu
本文标题:Postgresql_架构性能验证
链接地址:https://www.777doc.com/doc-5509341 .html