atlas 中间件

架构采用:

 

压测参考:

 Atlas与直连DB性能比较

利用sysbench测试通过Atlas转发SQL请求和直连DB发送SQL请求这两种情况下, Atlas和Mysql系统的两项数据指标:QPS和每条SQL请求平均处理时间。 通过sysbench发送三类SQL请求:select,update,insert。 每类请求都是单独发送。具体的操作过程如下所示:

执行下面的命令测试sysbench连接Atlas

sysbench --test=oltp \
         --num-threads=1 \
         --max-requests=80000 \
         --oltp-test-mode=nontrx \
         --db-driver=mysql \
         --mysql-db=my_db \
         --mysql-host=192.168.0.12 \
         --mysql-port=1234 \
         --mysql-user=buck \
         --mysql-password=buck \
         --oltp-nontrx-mode=select \
         --db-ps-mode=disable \
         prepare (run,cleanup)

上述命令是sysbench执行80000次随机select操作,这80000次操作都是非事务的。 通过修改 --oltp-nontrx-mode 选项,可以执行update和insert操作。 通过修改 --num-threads 参数,可以调整并发测试线程的个数。

sysbench创建表的语句是:

CREATE TABLE sbtest (
  id int(10) unsigned NOT NULL AUTO_INCREMENT,
  k int(10) unsigned NOT NULL DEFAULT '0',
  c char(120) NOT NULL DEFAULT '',
  pad char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY k (k)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1

执行下面的命令测试直连DB:

sysbench --test=oltp \
         --num-threads=1 \
         --max-requests=80000 \
         --oltp-test-mode=nontrx \
         --db-driver=mysql \
         --mysql-db=my_db \
         --mysql-host=192.168.0.13 \
         --mysql-port=3306 \
         --mysql-user=buck \
         --mysql-password=buck \
         --oltp-nontrx-mode=select \
         --db-ps-mode=disable \
         prepare (run,cleanup)

 

 

 

测试读写分离的时候:

打开日志 观察日志 不能用SYSBENCH,这个默认是事务的形式,读写都在M上,用语句测试  SELETC  会在重库,insert ,update,delete  会在主库

 

 

其他测试请参考官网文档,一下是官网的测试链接

 

参考官网:

https://github.com/Qihoo360/Atlas/wiki/Atlas%E7%9A%84%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95

posted @ 2015-09-23 15:07  lihbeibei  阅读(901)  评论(0编辑  收藏  举报