mysql性能测试

1.测试环境

服务器:

CPU:2GHZ,内存:4G,物理机

系统:centos 5 32位

 

网络:100Mbps 局域网

 

客户端:

CPU:2GHZ,内存:4G

系统:centos 5 32位

 

数据量:1000万条记录

mysql版本:5.1.51-log

测试方法:把mysql挂到DNS软件后面,用bind的测试工具querypref测试

测试时,启动五个DNS软件进程,每个进程里开一个mysql的长连接,每次请求不关闭连接

 

2.测试结果

2.1mysql

2.1.1 1000万在同一张表测试

     

     sql语句:select data,ttl from rr where domain='www.a.com.' and beginip<=3232238968 and endip>=3232238968 and rrtype=1;

     //不使用缓存
SET GLOBAL query_cache_size=0;

     加索引: INDEX `zone_index` (`zone`) USING BTREE,
                INDEX `ipset_index` (`beginip`,`endip`) USING BTREE,
                INDEX `rrtype_index` (`rrtype`) USING BTREE

     打开缓存:1.4万qps(query per second) ,单次请求时间为1~3ms

     不缓存:    21qps,单次请求时间为88ms

     服务器一分钟负载:2~3

    发现在查询时,去更新某一条记录时,那几分钟单次请求时间为900ms,估计mysql在重新建缓存和索引导致

2.1.2 1000张表,1万条数据测试 

 

 

     sql语句:select data,ttl from www_a_com_ where and beginip<=3232238968 and endip>=3232238968 and rrtype=1;

     //使用缓存
SET GLOBAL key_buffer_size=200*1024*1024;
SET GLOBAL table_cache=1200;
SET GLOBAL thread_cache_size=60;
SET GLOBAL query_cache_size=200*1024*1024;
SET GLOBAL query_cache_limit=200*1024*1024;
SET GLOBAL table_definition_cache=1200;
SET GLOBAL thread_cache_size=60;
SET GLOBAL myisam_data_pointer_size=60;
SET GLOBAL delayed_queue_size=2000;
SET GLOBAL preload_buffer_size=65536;

     加索引: INDEX `ipset_index` (`beginip`,`endip`) USING BTREE,
                INDEX `rrtype_index` (`rrtype`) USING BTREE

    打开缓存:1.5万qps,单次请求时间为1~3ms

     不缓存:   3000qps,单次请求时间为6~7ms

      服务器一分钟负载:2~4

测试时,发现在进程里启动10个连接和1一个连接的测试数据相差不大。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值