1 前言 每种测试工具都有其优点和缺点,本次测试将采用两种工具进行测试数据库部分,借助软件本身提供的方法进行测试,没有对特殊的业务进行逻辑测试。本次测试并不太关注业务表现的等待和性能问题,重点在于数据库运行在云主机所能承受的压力,以及cpu、内存、磁盘在压力期间的性能数据,业务测试返回的TPS、IOPS、RT等数据,以求对oracle运行在云主机提供参考。 2 测试工具 1、Sysbench,是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。Sysbench对于绑定变量的支持存在bug,但它的脚本都是lua语言写的,完全可以自行设计和定制业务逻辑进行测试。 安装方法见《附录9.1》 2、swingbench,是Oracle UK的一个员工在一个被抛弃的项目的基础上开发的。Swingbench可 以执行4种不同的标准测试(benchmark),拥有三种前端展示方式。Swingbench的开发目的主要是用来展示RAC的负载和测试,但也可用于单实例环境。 安装方法见《附录9.2》 两种方法均在测试机上作为客户端对数据库进行压力测试。 3 测试环境 测试阿里ECS+SSD+ORACLE的运行情况。 服务器端配置
![2e10dc0edd19fc0e79627208c02bb7bea886ddb8](https://yqfile.alicdn.com/2e10dc0edd19fc0e79627208c02bb7bea886ddb8.jpeg?x-oss-process=image/resize,w_1400/format,webp)
4 测试方法 Oracle redolog 建议和数据盘分开,本次测试将测试redolog和数据分开存放为主,并测试redolog和数据在同一磁盘的一组数据作为对比。因为表的数量少并发数越大,造成竞争和冲突率就大幅度上升,测试有随机性,因此数据并不能准确反映应用的具体情况,具体应用上线前建议根据业务逻辑设计LUA脚本或者Swingbench测试程序。 1、Sysbench Sysbench数据量初始化10张表,每张表100万条数据,每次测试最大访问条目是1000万,随机进行OLTP的读写更新和删除,并发数据为50、100、200、300、400、500并发值。 2、Swingbench Swingbench也是通过脚本建立测试数据库,相比Sysbench比较全面,从表空间、schema soe是一套订单业务逻辑,同时可以设置并发连接的登陆属性—长连接还是短连接。同样,也进行50、100、200、300、400、500并发值测试。 5 Sysbench进行OS基准测试 1、 Cpu,通过计算最大素数的方式查看cpu的计算速度 /home/oracle/sysbench-0.5/sysbench/sysbench_ora --test=cpu --cpu-max-prime=20000 run total time: 36.4537s 2、 内存,测试内存的吞吐率 /home/oracle/sysbench-0.5/sysbench/sysbench --test=memory --num-threads=16 --memory-block-size=8192 --memory-total-size=1G run ---------------------------------------------- 1024.00 MB transferred (2762.18 MB/sec) 3、 磁盘io,测试iops和吞吐率。 /u01 数据盘 /home/oracle/sysbench-0.5/sysbench/sysbench --test=fileio --num-threads=16 --init-rng=on --file-total-size=5G --file-test-mode=rndrw run --------------------------------------------------------------------- 5368709120 bytes written in 63.74 seconds (80.33 MB/sec). Read 93.734Mb Written 62.516Mb Total transferred 156.25Mb (31.643Mb/sec) /u02 redolog /home/oracle/sysbench-0.5/sysbench/sysbench --test=fileio --num-threads=16 --init-rng=on --file-total-size=5G --file-test-mode=rndrw run ------------------------------------------------------------------- 5368709120 bytes written in 96.23 seconds (53.20 MB/sec). Read 93.812Mb Written 62.438Mb Total transferred 156.25Mb (24.582Mb/sec) 1573.25 Requests/sec executed 6 测试一:Sysbench 对Oracle进行压测 6.1 准备数据 ./sysbench_ora --test=/home/oracle/sysbench/tests/db/lua/oltp.lua \ --db-driver=oracle \ --oltp-table-name=sysbench \ --oltp-table-size=1000000 \ <<<每张表规格100万行 --oltp-tables-count=10 \ <<<共10张表 --oracle-db=oradb \ <<<这是TNS的配置,SLB负载的TNS是oradbslb --oracle-user=sysbench \ --oracle-password=XXXX \ --max-time=900 \ <<<测试时长 --max-requests=10000000 \<<<最大访问1000万行 --num-threads=40 \ --report-interval=10 \ prepare 6.2 压测 --压测语法 ./sysbench_ora --test=/home/oracle/sysbench/tests/db/lua/oltp.lua \ --db-driver=oracle \ --oltp-table-name=sysbench \ --oltp-table-size=1000000 \ --oltp-tables-count=10 \ --oracle-db=oradb \ --oracle-user=sysbench \ --oracle-password=XXXX \ --max-time=900 \ --max-requests=10000000 \ --num-threads=40 \ --report-interval=10 \ run --/50并发 transactions: 204610 (227.32 per sec.) read/write requests: 3682980 (4091.84 per sec.) response time: min: 24.70ms avg: 175.88ms max: 1070.85ms approx. 95 percentile: 256.37ms --/100并发 transactions: 800926 (222.47 per sec.) read/write requests: 14416668 (4004.41 per sec.) response time: min: 20.03ms avg: 359.54ms max: 1766.33ms approx. 95 percentile: 543.96ms --/200并发 transactions: 115286 (192.01 per sec.) read/write requests: 2075148 (3456.25 per sec.) response time: min: 84.64ms avg: 831.56ms max: 2552.42ms approx. 95 percentile: 1261.25ms --/300并发 transactions: 121441 (202.12 per sec.) read/write requests: 2185938 (3638.24 per sec.) response time: min: 19.48ms avg: 1573.34ms max: 5466.92ms approx. 95 percentile: 2504.40ms --/400并发 transactions: 121441 (207.12 per sec.) read/write requests: 2185938 (3638.24 per sec.) response time: min: 19.48ms avg: 1573.34ms max: 5466.92ms approx. 95 percentile: 2810.40ms --/500并发 由于oltp.lua脚本表少并发太多对象争用太明显,测试执行失败,但我们看到iops、tps数值稳定,rt跟线程多少有关。 7 测试二:Swingbench对Oracle进行压力测试 Swingbench 通过建立soe用户,模拟产品、订单业务,可以自定义数据量大小,本次测试生成10G左右的数据文件。 --/并发50
![cdd35a77311ae0bb330ab263315265ca95b4a79b](https://yqfile.alicdn.com/cdd35a77311ae0bb330ab263315265ca95b4a79b.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![fb8964c70d11f4e5a09796276b37bba607eb7348](https://yqfile.alicdn.com/fb8964c70d11f4e5a09796276b37bba607eb7348.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![6f695ad96fecd2b834430fd42ec6076918784db6](https://yqfile.alicdn.com/6f695ad96fecd2b834430fd42ec6076918784db6.jpeg?x-oss-process=image/resize,w_1400/format,webp)
--/并发100
![897cc5a54fb2fb8ba98100fcb04807e92d8c5142](https://yqfile.alicdn.com/897cc5a54fb2fb8ba98100fcb04807e92d8c5142.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![29d31f5265727b88eac1f218863e6c23e2bb650c](https://yqfile.alicdn.com/29d31f5265727b88eac1f218863e6c23e2bb650c.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![be379a2daf69ccddf87f2552e115696043e22248](https://yqfile.alicdn.com/be379a2daf69ccddf87f2552e115696043e22248.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![30b4f151627d5303592fb865bfe69244797ae666](https://yqfile.alicdn.com/30b4f151627d5303592fb865bfe69244797ae666.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![96b015b900e047a42a0429920f78fdc09b52d9c9](https://yqfile.alicdn.com/96b015b900e047a42a0429920f78fdc09b52d9c9.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![c00b3c9d1adf2ec2a6dcb1f7f16bc61f3942c0cf](https://yqfile.alicdn.com/c00b3c9d1adf2ec2a6dcb1f7f16bc61f3942c0cf.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![e9bee5ebcb6b2048fac72ea2ed51decf0787bd4c](https://yqfile.alicdn.com/e9bee5ebcb6b2048fac72ea2ed51decf0787bd4c.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![6fd8c491f13cdb4cf27786804cb6a0f5e779bf1e](https://yqfile.alicdn.com/6fd8c491f13cdb4cf27786804cb6a0f5e779bf1e.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![f12973b02eb922c10ede80a69916f5a579581b83](https://yqfile.alicdn.com/f12973b02eb922c10ede80a69916f5a579581b83.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![d913107b02f01a463bcd650f810ef7e4534677a3](https://yqfile.alicdn.com/d913107b02f01a463bcd650f810ef7e4534677a3.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![dfeadc2f20a9041e9bacc21e4c95d17b698cb139](https://yqfile.alicdn.com/dfeadc2f20a9041e9bacc21e4c95d17b698cb139.jpeg?x-oss-process=image/resize,w_1400/format,webp)
磁盘io达到27M/s,TPS达到1839 --/并发300
![f12973b02eb922c10ede80a69916f5a579581b83](https://yqfile.alicdn.com/f12973b02eb922c10ede80a69916f5a579581b83.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![6c6750b5e739fc2b5869452f4f000b6ee5fd0c9e](https://yqfile.alicdn.com/6c6750b5e739fc2b5869452f4f000b6ee5fd0c9e.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![50cdf8ceb01f04f6ee1ef6688c2bcf384c20382e](https://yqfile.alicdn.com/50cdf8ceb01f04f6ee1ef6688c2bcf384c20382e.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![f6f3e2bc4981874545bd990d94dfb970ab235d09](https://yqfile.alicdn.com/f6f3e2bc4981874545bd990d94dfb970ab235d09.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![ce6e56994b7e9fa8a770ee0e0adfd5aa8239f3b3](https://yqfile.alicdn.com/ce6e56994b7e9fa8a770ee0e0adfd5aa8239f3b3.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![7b2f642f85545c943919c963c442e528923f6091](https://yqfile.alicdn.com/7b2f642f85545c943919c963c442e528923f6091.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![2f50da50746cc188bbdc8c27f3554bb2bb2e6303](https://yqfile.alicdn.com/2f50da50746cc188bbdc8c27f3554bb2bb2e6303.jpeg?x-oss-process=image/resize,w_1400/format,webp)
![b82f4c6261c687a1d4146527c225699f802bc138](https://yqfile.alicdn.com/b82f4c6261c687a1d4146527c225699f802bc138.jpeg?x-oss-process=image/resize,w_1400/format,webp)