mysqlfabric压力测试

  我们知道fabric中间件可以实现HA故障自动切换、水平分片、读写负载等功能。无需额外安装代理,使用方便。那fabric本身是否会存在性能瓶颈点呢?

  因此,接下来我们就对fabric中间件进行压力测试。

  

思路:

  fabric中间件主要起路由功能,客户端连接池一旦初始化之后,和fabric的关系已经不大。当然也有一些连接池会配置定时检测连接池的健康状态,此时会定时连接一下fabric。

  所以,fabric中间件服务器的压力关键在于连接的初始化这块。fabric中间件的压测,就变成对fabric连接请求的处理能力的压测了。

压测过程:

  1. 改写java连接fabric的jar包:实现只连接fabric,不连接业务库。
  2. 写一个jsp页面来循环执行fabric的连接动作(特意不使用连接池,以达到压测的效果,且只做连接fabric的动作,不连接到业务数据库)。
  3. 压测结果:

    连接fabric请求10000次,花了376秒。即:每秒可以请求26.6次连接,每次连接消耗37.6ms。

  4. 进行计算:

      假设有500个应用(即500个连接池),每个连接池初始化100个连接,fabric中间件每秒可以处理26.6次,我们这里按25次来算,则500个应用的连接初始化时间为:

      500*100/25/60=33.33分钟。

      就是说:假如机房停电,然后fabric中间件的500个应用都要上来进行初始化连接池时,则要经过33分钟才来完全初始化好。

      当然,实际情况是应用的连接池初始化通常是有的先有的后,不会一下子拥上来,但我们要知道这么大的连接,一下子拥上来,这是非常耗时间的。

  5. 压测过程,硬件资源使用情况:IO使用率在0.3%左右,CPU使用率5%。也就是对硬件的使用率还是非常低的。

补充:

fabric的连接走的是xmlrpc协议,且客户端的一次fabric连接请求,实际上做了两次的连接fabric数据库(注:不是业务数据库,而是fabric的数据库,即backing store哦),同时操作fabric数据库10次(6次select,4次insert)。因此,fabric连接请求的时间相对于jdbc直连的效率要低多了。

时间: 2024-10-10 01:39:41

mysqlfabric压力测试的相关文章

如何做云端压力测试和业务容量的测试与规划

云智慧产品总监 陆兴海 高速增长的互联网业务要求产品开发.迭代和交付周期越来越短,而IT基础设施的广泛云化和第三方API接口的大量使用,使传统的基于内部环境搭建的压力测试方法和测试工具越来越难以满足应用功能可用和容量规划预估的需求. 企业该如何为频繁的市场活动和产品快速迭代进行有效而准确的压力测试呢?希望通过云端压力测试专家,云智慧压测宝产品总监陆兴海分享的两个客户案例,为企业的云端压力测试和业务容量规划带来一些有价值的参考. 压测宝云压测客户案例1:压测宝如何做业务容量的测试与规划? 云智慧有

网站压力测试工具 Webbench

webbench最多可以模拟3万个并发连接去测试网站的负载能力 Webbench是有名的网站压力测试工具,它是由 Lionbridge公司(http://www.lionbridge.com)开发. Webbech 能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webBech的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数 和每秒钟传输数据量.webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力.还

压力测试工具tsung用法简介

tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问.目前对tsung的理解也仅限于会简单的应用,其内部结构没有深入研究过. 1.安装 tsung是用erlang编写的,所以首先安装erlang的运行环境.然后就是按照tsung的官网下载编译tsung.需要注意的是,生成测试报告需要gnuplot和perl的支持,其中perl需要安装Template扩展.具体安装过程请看相关手册或者google之. 2.配置文件 默认情况下,tsung会加载配置

开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试

前言表面看来,JMeter与本系列课程似乎关系不大,但实际上在后面的很多场景中起着重要作用:如何获知修改了某些代码或者设置之后系统性能是提升了还是下降了呢?商业的压力测试工具LoadRunner确实很高大上,但是据说费用也不便宜且体积也不小,而目前最高版本的开源免费压力测试工具JMeter3.2压缩包体积才不到53M,而且对于开发人员而非专业测试人员来说,JMeter提供的测试功能已经够强大了.要完整地介绍JMeter,即使把JMeter自带的文档翻译成中文就是一本厚厚的书了.但是在本篇只讲述如

mysqlslap 压力测试使用总结

今天从运维同事那听说了mysql压力测试工具mysqlslap.经了解其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的.下面举例说说.mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具.通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了"高负荷攻击MySQL"的数据性能报告.并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别.通过mysqlslap –help可以获得可用的选项,这里列一些主要的参数,更详

apache ab压力测试报错apr_socket_recv

apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104)) apache 自带的ab工具测试,当并发量达到1000多的时候报错如下: [[email protected] ~]# ab -n 100000 -c 1000 http://192.168.2.170/index.htmlThis is ApacheBench, Version 2.3 <$Revision: 655654 $>Copyright 1996 Ada

sysbench对数据库进行压力测试

sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试. 安装方式:https://github.com/akopytov/sysbench/blob/master/README.md#general-command-line-options 此处安装的是sysbench 1.0.6版本,和网上大部分的0.4,0.5版本的命令不太一样. sysbench支持三种测试方案: 1.使用自带的测试模块,如对cpu,I/O,memory等的测试. 2.使用自带的lua

tcpcopy,模拟在线MySQL压力测试的好帮手

主要信息来自:http://code.google.com/p/tcpcopy/ tcpcopy是一个基于底层的应用请求复制(所有基于tcp的packets)开源项目,可用于替代ab做在线模拟压力测试,可转发各种在线请求到测试服务器上,进行较为详尽的近乎实际的测试,从而避免了新业务.系统上线带来的潜在问题. tcpcopy的四大功能: 1)分布式压力测试,将多个前段请求集中到某个后端进行压力测试2)上线前测试,检验新系统可靠性,提前发现潜在问题3)对比测试,同样请求,针对不同或不同版本程序,可以

Jmeter教程 简单的压力测试

转载:http://www.cnblogs.com/TankXiao/p/4059378.html?utm_source=tuicool Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 什么是压力测试 顾名思义:压力测试,就是  被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况) 比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站