开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用数据库的压测工具super-smack测试mysql数据库性能

简介:
+关注继续查看
一、下载
 
super-smack
 
下载地址:http://vegan.net/tony/supersmack/
 
源码:http://vegan.net/tony/supersmack/super-smack-1.3.tar.gz
 
二、编译及安装
 
配置编译选项:./configure --prefix=/usr/local/super-smack-1.3 --with-mysql --with-smacks-dir=/usr/local/super-smack-1.3
 
请根据测试的数据库来选择 --with-pgsql --with-oracle 或 --with-mysql
 
重点说明一下--with-mysql的编译配置:
 
编译的时候要把/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/lib
 
configure: 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/mysql
 
cd /usr/lib; ln -s /usr/local/mysql/lib/mysql
 
编译及安装:
make;make install
 
三、使用方法及常见问题
 
为方便使用
 
ln -s /usr/local/super-smack/bin/super-smack /usr/local/bin/
 
ln -s /usr/local/super-smack/bin/gen-data /usr/local/bin/
 
使用方法:
 
cd /usr/lib;ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.16.0.0 libmysqlclient.so.16
 
或者
 
cd /usr/lib;cp -a /usr/local/mysql/lib/mysql/libmysqlclient.so.16.0.0 libmysqlclient.so.16
 
否则会有如下问题:
 
# super-smack -d mysql /usr/local/super-smack/select-key.smack 10 1000
 
super-smack: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
 
注意可能要根据实际情况修改select-key.smack文件中数据库连接部分的配置。
 
注意还需要指定select-key.smack 文件的具体位置,否则会出现下面的错误提示。
 
# super-smack select-key.smack 10 1000
 
super-smack: Could not open input file select-key.smack errno = 2, error is No such file or directory
 
四、正常使用的范例
 
[root@MySQL lib]# super-smack -d mysql /usr/local/super-smack/select-key.smack 10 1000       
 
Error running query select count(*) from http_auth:Table 'test.http_auth' doesn't exist
 
Creating table 'http_auth'
 
Populating data file '/var/smack-data/words.dat' with shell command 'gen-data -n 90000 -f %12-12s%n,%25-25s,%n,%d'
 
Loading data from file '/var/smack-data/words.dat' into table 'http_auth'
 
Table http_auth is now ready for the test
 
Query Barrel Report for client smacker1
 
connect: max=2809ms  min=3ms avg= 586ms from 10 clients 
 
Query_type      num_queries     max_time        min_time        q_per_s
 
select_index    20000   0       0       2243.93
 
注意,本文只是抛砖引玉,实际测试中,根据实际情况,需要认真构造测试脚本。


     本文转自xiaoyuwang 51CTO博客,原文链接:http://blog.51cto.com/wangxiaoyu/463311,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
有Mysql数据库的情况下为什么要用Hive?
最近接到公司的一个需求,要求使用Hive做数据查询。当时第一反应就是What?Hive是什么鬼?一脸懵逼状。(请原谅一个刚开始实习的Java实习生见识短浅)然后发现了hive的一些问题。下面简单介绍一下Hive
6240 0
使用navicat将SQL server数据库导成mysql数据库
使用navicat将SQL server数据库导成mysql数据库 1、新建一个数据库名 2、右键表名,选择导入向导 3、选择‘odbc’ 4、点击下一步, 5、再下一步 6、点去确定的时候报错 “无法打开文件Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=TYPQMS;Data Source=.” 7、原因是 弹出的界面密码又被设置成了空白 因此我们要保存密码 8、正确来连接成功后的页面。
1742 0
将MySQL中的数据导入到solr索引库
利用solrJ向索引库导入数据 需求:将MySQL中的数据导入到solr索引库 定义实体类: [java] view plain copy public class SearchItem implements Serializable{     private String id.
1278 0
mysql数据库客户端访问权限配置
mysql数据库客户端访问权限配置 借鉴这个百度经验。 用root登录mysql之后 1.use mysql 2.select host,user,password from user; 修改host列的用户,建议修改localhost用户,如图五所示 执行命令如下: update user set host = '%' where host = 'local
1286 0
Mysql数据库,表,字符集,主外键等创建的sql模板
##如果存在同名的数据库,删除此同名的数据库。 DROP DATABASE IF EXISTS cfms;   ##如果不存在字符集为utf8的cfms这个数据库,那么就创建 CREATE DATABASE IF NOT EXISTS cfms CHARACTER SET utf8;   ##第一次时表示使用此数据库 US
1115 0
21114
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载