swingbench压测Oracle小记(二)(r12笔记第20天)

   今天抽时间在整理一个关于MySQL和Oracle共同面临的问题,但是它们有着不同的解决方案,就是经典的partial
write问题,我也看到网上有很多DBA在纠结,在争论,相比而言,Oracle这边更沉默一些。我认真看了他们的讨论,但是到目前为止没有看到一个把两方面都照顾到的解读,而且这个问题可以继续扩展开来,从存储层面也可以有一些解读,所以我决定做这个事情。至于文章最近应该会从社群中看到,对于内容,我还是抱着谨慎的态度,想让几位朋友审阅之后再说会比较好。如果你对此有一定的基础,对此有浓厚的兴趣,也可以私信联系我。

   MySQL和Oracle有时候想想真是有意思,一个开源,一个商业,一个最流行,一个最有范,看起来势不两立,但是命运把他们又连接在一起。

  
早上走在路上,突然想起swingbench和sysbench这两个工具。我竟然忍不住笑出来,都是Oracle员工写的工具(确切的说,其中一个是前Oracle员工),竟然风格完全不同。sysbench在github上开源,从2016年开始持续发力,从sysbench作者的话说,他的很多需求都是CEO
Peter建议他的,能不能做做这个,能不能实现那个,最后改进优化,终于做了较大的改进,直接到了1.0.3的版本,其实sysbench早期的路子和swingbench非常相似,也是一个站点,放置一个donate捐款的按钮,而swingbench的情况相对要被动一些,因为你查看FAQ就会看到,这是一个开源的软件,如果出了问题,是不能提供支持的,用作者话说大体意思是,我也是一个全职工作者,有时候时间精力也会力不从心,见谅见谅。

   如果你细细使用swingbench,会发现不少小问题,原本看起来完美的计划结果发现会有很多不兼容的问题。

  
比如swingbench在windows中支持精简模式,文本模式和全图形化模式,但是windows下的模板创建的数据和Linux是不兼容的,也就是说,你通过oewizard字符界面创建了一批数据,想通过windows图形界面做压测,这个时候情况就比较尴尬,因为很可能会出现几个错误,甚至是层出不穷的错误,直到你彻底放弃。

    精简模式的截图如下,直接使用minibench即可。

文本模式在windows下非常便捷。直接charbench即可。

全图形模式如下:

   得到了这些图,我们做压测就有了可参考的标准了。

   我开启了150个用户的压测模式,很快我发现这个压测的情况比我想象的压力要大一些,150个用户,竟然150个活跃会话。

STATUS                  CNT
---------------- ----------
ACTIVE                  150
INACTIVE                 27
                 ----------
sum                     177我做了如下的改动,说实话在这个配置下(网络配置,机器配置)我没有看到显著的效果,不过可以作为参考,在之前KDB的性能PK中还是能看到显著效果的。

alter system set sga_target=15G;
alter system set open_cursors=1500;
alter system set session_cached_cursors=500 scope=spfile;
alter system set commit_write='nowait';
alter system set audit_trail=none scope=spfile;
alter system set filesystemio_options=setall scope=spfile;至于redo,undo,temp的大小设置,这些都是基本的。

瓶颈主要在哪里,很大一部分都是IO上不够给力,下面是一个配置较好的服务器,IO上采用PCIE-SSD,做了加压测试,TPS翻了近30倍。

 而CPU为什么不是瓶颈呢,我们看看抓到的一个AWR报告,CPU基本都是空闲,跑不上去。

而IO为什么是瓶颈呢,等待事件的平均等待时间是11毫秒,这个高了很多。

所以说通过这个大体能够看出一些问题,做压力测试就心中有数了。

时间: 2024-09-25 02:13:08

swingbench压测Oracle小记(二)(r12笔记第20天)的相关文章

swingbench压测Oracle小记(r12笔记第19天)

   之前也分享过一篇关于swingbench测试Oracle的文章,也算是一个起步了.    新业务要上线,不跑个压力测试还真说不过去,当然我比较喜欢swingbench的一点就是它可以模拟一些OLTP的场景,比如订单类业务,新建客户,订购,下单等这样一个流程的操作算是一个模拟真实的事务.     当然swingbench还有几个地方做得挺有特色,一个是我们压力测试是指定数据量,比如1G,5G,100G,初始化数据就会按照这个基线来进行数据的分布.   swingbench的配置,其实有了图形

Oracle中的PGA监控报警分析二(r12笔记第87天)

今天又收到了一条报警的信息,看起来很常规,但是后面的故事如果你做了分析就会发现其实本身并不平常,我觉得我得出手了. ZABBIX-监控系统: ------------------------------------报警内容: PGA Alarm on alltest ------------------------------------报警级别: PROBLEM ------------------------------------监控项目: PGA:9723.2 -------------

一个ORA-00600问题的简单分析(r12笔记第18天)

  在前些天尝试使用sysbench来压测Oracle,没想到初战就不顺利,因为初始化几百万数据库,竟然一个小时过去了,一个表的数据都没有初始化好,这个可让我大大失望,所以我就强制清理了会话,把数据初始化流程给终止了.    今天想继续试试,看看能不能优化一些地方.但是刚开始跑初始化数据的脚本的时候,就抛出了一个ORA-00600的错误. 错误信息如下: Creating table 'sbtest1'... FATAL: OCIStmtExecute failed in drv_oracle.

性能测试 PTS 铂金版来袭!阿里云发布T级数据压测的终极秘笈

无限接近真实流量的全链路压测,具备超高并发能力,多维动态支持压测场景下的多变环境,1分钟即可设置简单压测场景--这个神奇的压测"黑科技"就是PTS铂金版! 有别于PTS企业版,PTS铂金版具有完全不同的出身,说起它,不得不从阿里巴巴每年的全球剁手党狂欢-双11说起.因为和其他APM服务商不同,阿里云的压测解决方案-性能测试服务 PTS 脱胎于阿里巴巴内部平台,而这个内部平台堪称双11保障的核武器.在经过超高峰值.超高复杂度的千锤百炼后,PTS铂金版正式对外输出,让广大企业级用户能用最低

全链路压测-大促备战核武器

全链路压测被誉为大促备战的"核武器",如果之前有关注过阿里双11相关的技术总结,对"全链路压测"一定不会陌生,这个词的出场率几乎100%,从对双11稳定性的价值来看,用"核武器"来形容全链路压测毫不为过. 1. 背景 时间:2016年10月29日凌晨:地点:阿里西溪园区1号楼7楼"光明顶":事件:200多人聚在一起,精神抖擞,摩拳擦掌.这阵势,是要去约群架吗?别紧张,他们只是在进行一次双11的模拟演习-全链路压测. 历年的双1

详解双11终极“核武器”:全链路压测如何诞生?

本文内容来自阿里巴巴集团双11技术团队撰写的<尽在双11:阿里巴巴技术演进与超越>一书.该书被阿里巴巴集团CTO行癫盛赞为"迄今为止对双11技术演进最客观.最详实的还原",目前正在全国火热销售中. 全链路压测被誉为大促备战的"核武器".如果之前关注过阿里双11相关的技术总结,对全链路压测一定不会陌生,这个词的出场率几乎是100%,从对双11稳定性的价值来看,用"核武器"来形容全链路压测毫不为过. 背 景 历年的双11备战过程中,最大的

sysbench压测小记(r11笔记第99天)

对于很多线上业务而言,如果有新服务器,新的环境,新的业务,到底资源和预期的承载压力是否匹配,这个得用数据说话,或是通过严谨的论证来阐述. 比如一台新的服务器,一般都需要经过压力测试,我们也叫拷机测试.一般都会从多个维度来进行加压(比如CPU,内存,IO等等),看看服务器是否依旧坚挺,虽然这一点上如果产生了懈怠或者懒惰还是会被轻视,但是从身边的例子来看,还是会测试出一些问题来,如果发现了问题,就避免了后续的很多被动. sysbench就是这么一个工具,功能非常全面.是一个标准模块化,多线程的基准测

Oracle 9I安装使用笔记

oracle|笔记 Oracle 9I安装使用笔记author: Tansfdate: 2004-11-10 一.安装Oracle 9I 一共三张光碟1全局数据库名 : tan.eyesomdbSID: tan---需要手动输入 2 数据库文件目录C:\oracle\oradata 3 数据库信息全局数据库名 : tan.eyesomdbSID: tan全局数据库名 : tan.eyesomdbSID: tanSYS口令:change_on_install -- 改为: sys123456SYS

压测之sysbench安装和MySQL只读测试

sysbench编译安装 [root@DS-VM-Node160 ~]# cd /tmp/ [root@DS-VM-Node160 /tmp]# git clone https://github.com/akopytov/sysbench.git [root@DS-VM-Node160 /tmp]# cd sysbench/ [root@DS-VM-Node160 /tmp/sysbench]# yum install mysql mysql-devel libtool openssl-deve