一、源码下载       下载地址:http://vegan.net/tony/supersmack/源码:二、编译及安装       编译环境:Ubuntu Server 9.10 64位配置编译选项:./configure--prefix=/usr/local/super-smack-1.3 --with-mysql--with-smacks-dir=/usr/local/super-smack-1.3

由于MySQL采用了编译安装的方式因此编译选项改为:

./configure --prefix=/usr/local/super-smack-1.3 --with-mysql --with-smacks-dir=/usr/local/super-smack-1.3 --with-mysql-lib=/usr/local/mysql/lib/mysql --with-mysql-include=/usr/local/mysql/include/mysqlmake && make install

编译的时候要把/usr/lib64目录下的libmysqlclient.so.16放到/usr/lib目录下,否则会出现下面的错误:

configure: error: Could not find libmysqlclient in ' /usr/lib /usr/lib/mysql                    /usr/local/lib /usr/local/lib/mysql  /usr/local/mysql/libconfigure: error: Could not find mysql.h in ' /usr/include /usr/include/mysql                        /usr/local/include /usr/local/include/mysql                        /usr/local/mysql/include'

由于我的mysql是自行编译的,所以我这样操作

cd /usr/include; ln -s /usr/local/mysql/include/mysqlcd /usr/lib; ln -s /usr/local/mysql/lib/mysql

注意:在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib

在make的过程中遇到如下错误:

dictionary.h:93: error: ‘strlen’ was not declared in this scopesuper-smack.cc:126: error: ‘strlen’ was not declared in this scope

则分别在dictionary.h和super-smack.cc文件的头文件引用中加入 #include 若遇到如下错误:

query.cc:200: error: cast from ‘char*’ to ‘unsigned int’ loses precisionquery.cc:200: error: cast from ‘char*’ to ‘unsigned int’ loses precisionquery.cc:219: error: cast from ‘char*’ to ‘unsigned int’ loses precisionquery.cc:219: error: cast from ‘char*’ to ‘unsigned int’ loses precision

修改这个query.cc文件,将上面指定的几行中的unsigned int改为unsigned long即可。三、使用super-smack(1)首先需要修改相应的.smack文件,这些文件在源码目录下的smacks目录下,有select文件和update文件,其实就是代表测试的不同类型,是select还是update,可以选择你要的操作使用相应的文件,这里我们使用select-key.smack.将两处mysql socket修改成实际的mysql socket所在位置。将两处处words.dat改成http_auth.dat。将一处gen_data_file “gen-data -n 90000 -f %12-12s%n,%25-25s,%n,%d”;修改成gen_data_file “./gen-data -n 90000 -f %12-12s%n %25-25s %n %d”;注意是将逗号改为TAB空格.(2)使用super-smack生成数据文件,然后导入mysql的http_auth表中,在bin目录下运行:./gen-data-n 90000 -f %12-12s%n %25-25s %n %d > /var/smack-data/http_auth.dat(3)在super-smack目录下运行进行压力测试了bin/super-smack-d mysql select-key.smack 10 1000    -d指明是mysql数据库测试,然后指明测试文件,10表示10个线程,1000表示每个线程有1000个查询,可以根据你的需要修改.查询结果:

Query Barrel Report for client smackerconnect:max=3ms min=0ms avg=1ms from 10 clientsQuery_type num_queries max_time min_time q_per_sselect_index 20000 1 0 8124.3

在以上测试结果中,

l10代表10个客户端同时接入,1000代表每个客户端的查询次数(脚本中,对查询次数做了翻倍处理);

lmax、min、avg为客户端最大、最小、平均连接时间;

lnum_queries、max_time、min_time为总请求次数,最大、最小查询时间(以毫秒为单位);

lq_per_s为每秒处理的请求数。

四、MySQL性能测试总结

基于模拟的一张的100w条记录的表进行测试,select的并发的最大客户端数是mysql能够允许的最大客户端连接数的3倍左右,update的并发的最大客户端数需低于mysql能够允许的最大客户端连接数。select的每秒平均查询次数是update的执行次数的3-4倍左右,当select获取的数据时多条记录时它的性能会下降一倍左右,如果在where条件中添加and条件能够提高mysql的查询性能,or条件则会降低查询性能。update在根据where条件更新多条记录时,性能也会下降一倍左右。以上结论是通过实验测试数据总结得出的结论,不同的环境数据可能会有不同。

五、参考资料

mysql smack_MySQL压力测试工具super-smack简单教程相关推荐

  1. linux mysql 测试工具_LINUX系统下MySQL 压力测试工具super smack

    LINUX系统下MySQL 压力测试工具super smack 发布时间:2008-09-08 17:03:39   作者:佚名   我要评论 1. 源文件下载地址:http://vegan.net/ ...

  2. 压力测试工具Jmeter的简单使用

    目录 介绍 下载地址 安装 简单配置 永久设置中文界面 设置字体大小和图标 插件安装 插件使用 填坑-修改了相关配置,字体依然很小,无语 实战-简单的压力测试过程 创建线程组 配置元件 取样器-构造H ...

  3. ab压力测试工具linux,【Linux】ApacheBench(ab)压力测试工具

    AB的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比 ...

  4. linux下的CPU、内存、IO、网络的压力测试工具与方法

    一.CPU压力测试工具Super Pi forLinux Super PI是利用CPU的浮点运算能力来计算出π(圆周率),所以目前普遍被超频玩家用做测试系统稳定性和测试CPU计算完后特定位数圆周率所需 ...

  5. ab 服务器压力测试工具 使用详解

    ab的全称是Apache Bench,是Apache自带的网络压力测试工具,相比于LR.JMeter,是我所知道的 Http 压力测试工具中最简单.最通用的. ab命令对发出负载的计算机要求很低,不会 ...

  6. 几种网站压力测试工具调研与使用

    在项目上线之前,都需要做压力测试,目的是看下我们的网站能抗住多少的压力,能承担多少并发,如果不做压力测试,一旦出现大访问量时,我们的网站会挂掉.因此,我们对现有较流行的几种网络压力测试工具进行了简单调 ...

  7. mysql压力测试教程_Mysqlslap MySQL压力测试工具 简单教程

    MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单.通过mysqlslap –help可以获得可用的选项,这里列一些 ...

  8. mysql 工具_MySQL压力测试工具,值得收藏

    一.MySQL自带的压力测试工具--Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新 ...

  9. (转)MySQL自带的性能压力测试工具mysqlslap详解

    mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况 mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试 ...

最新文章

  1. 技术图文:C#语言中的泛型 I
  2. 解决数据库里表字段带下划线,实体类转小驼峰,Mapper的映射问题
  3. Xamarin XAML语言教程ContentView视图作为自定义视图的父类
  4. Python使用pyserial进行串口通信
  5. 寒假每日一题(提高组)【Week 4 完结】
  6. linux下qt多个程序打包,解决Ubuntu下使用linuxdeployqt打包Qt程序问题
  7. WebSocket——stomp连接错误[Whoops! Lost connection to XXX]解决方案
  8. python学习-defaultdict
  9. 二维有限体积 matlab,二维有限体积法计算热传导及源码.pdf
  10. BugkuCTF-Crypto题Crack it
  11. 71. Merge k Sorted Lists
  12. java 只有日期的类_【你不知道的事系列】Java中处理日期的类
  13. 项目杂-备注-说明-其他
  14. 计算机视觉算法_RANSAC 估计
  15. netmeeting 英文开源实例
  16. 苹果电脑装系统只有W ndows,苹果MAC电脑双系统教程——MAC安装Windows双系统教程...
  17. 【全套资料.zip下载】数电课设-色子骰子模拟电路Multisim仿真设计【Multisim仿真+报告+讲解视频.zip下载】
  18. c语言陈湘骥答案,c语言程序设计教程陈湘骥答案
  19. iis下ISAPI_Rewrite配置及 iis rewrite 规则书写
  20. 电脑怎样设置桌面待办,桌面待办事项软件

热门文章

  1. 计算机硬件主流参数,计算机“三胞胎”|承上启下硬件:内存各参数详解
  2. 新增三个读者服务专用群
  3. 实战破解某高校校园网密码——你的账号安全吗?
  4. 这几个合成配音软件新手也在用
  5. 如何(c++,js)写一个传统的K线图和走势图3-十字光标的绘制
  6. mc服务器空岛显示岛屿保护,[1.16.5][Paper]岛屿生存 —— 空岛海岛单方块洞穴生存空网玩法一端搞定[SCT]...
  7. 【爱软测】Jmeter数据关联之json提取器
  8. 色盘取出点击处的R,G,B色值
  9. File类中isFile与exists的区别
  10. 【一建:深基坑开挖的几种方式】深基坑开挖的几种方式