woyoudn 发表于 2018-9-27 08:06:33

对MYSQL进行压力测试

1、安装supersmack  http://vegan.net/tony/supersmack/
  安装过程以及我中间遇到问题的总结都在这里。
  之前记得把libmysqlclient.so.16拷贝到/usr/lib中去,这样make 的时候不用改MakeFile文件。
  # cp /usr/local/mysql/libmysqlclient.so.16 /usr/lib
  我遇到的问题如下:
  error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory
  看到北京野狼的这个帖子:
  http://bbs.chinaunix.net/archiver/?tid-638662.html
  # ./configure --with-mysql
  configure: error: installation or configuration problem: C++ compiler cannot create executables.
  没有安装C++编译器
  # rpm -ivh libc-client-2004g-2.2.1.i386.rpm
  Preparing...                ###########################################
  1:libc-client            ###########################################
  # rpm -ivh libc-client-devel-2004g-2.2.1.i386.rpm
  Preparing...                ###########################################
  1:libc-client-devel      ###########################################
  # rpm -ivh libstdc++-devel-4.1.1-52.el5.i386.rpm
  Preparing...                ###########################################
  1:libstdc++-devel      ###########################################
  # rpm -ivh gcc-c++-4.1.1-52.el5.i386.rpm
  Preparing...                ###########################################
  1:gcc-c++                ###########################################
  # cd ../sourcepackage/super-smack-1.2
  # ./configure --with-mysql
  loading cache ./config.cache
  checking for a BSD compatible install... /usr/bin/install -c
  checking whether build environment is sane... yes
  checking whether make sets ${MAKE}... yes
  ...
  updating cache ./config.cache
  creating ./config.status
  creating Makefile
  creating src/Makefile
  creating config.h
  Building with the following options:
  MySQL Support..................... yes
  PostgreSQL Support................ no
  Oracle Support.................... no
  If this is not what you intended, please re-run configure.
  Thanks for using super-smack!
  然后make;make install
  其他问题看
  http://vegan.net/tony/supersmack/FAQ.php
  2、进行实际测试。
  拷贝示例文件。
  # cp -r smacks/ /usr/local/bin/
  修改用户名和密码为自己的
  默认是测试MYISAM表的性能。
  # super-smack -d mysql select-key.smack 10 1000
  Error running query select count(*) from http_auth:Table 'test.http_auth' doesn't exist
  Creating table 'http_auth'
  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=156msmin=0ms avg= 21ms from 10 clients
  Query_type      num_queries   max_time      min_time      q_per_s
  select_index    20000   0       0       16299.96
  10 是连接客户的数目,每个客户有100次轮询。
  结果表示:super-smack总共执行了2W次查询,每秒执行16299.96 条数据
  下来测试innodb 表
  进入MYSQL的SHELL,修改表类型

  mysql>>  Query OK, 90000 rows affected (15.18 sec)
  Records: 90000Duplicates: 0Warnings: 0
  # super-smack -d mysql select-key.smack 10 1000
  Query Barrel Report for client smacker1
  connect: max=117msmin=0ms avg= 18ms from 10 clients
  Query_type      num_queries   max_time      min_time      q_per_s
  select_index    20000   0       0       16747.00
  #
  接下来测试集群的

  mysql>>  Query OK, 90000 rows affected (11.14 sec)
  Records: 90000Duplicates: 0Warnings: 0
  # super-smack -d mysql select-key.smack 10 1000
  Query Barrel Report for client smacker1
  connect: max=3msmin=0ms avg= 0ms from 10 clients
  Query_type      num_queries   max_time      min_time      q_per_s
  select_index    20000   3       1       2587.91
  看一下update的。
  # super-smack -d mysql update-select.smack 100 10000
  Table 'http_auth' does not meet condtions, will be dropped
  Creating table 'http_auth'
  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 smacker
  connect: max=752msmin=0ms avg= 108ms from 100 clients
  Query_type      num_queries   max_time      min_time      q_per_s
  select_index    1000000 19      0       3837.48
  update_index    1000000 20      0       3837.48
  这个测试结果怎么表名MYISAM表的SELECT比INNODB的还差。
  具体原因我会找找看。

页: [1]
查看完整版本: 对MYSQL进行压力测试