并发下,WEB程序链接mysql与不连接mysql的性能情况对比
博客专区 > TopPGF 的博客 > 博客详情
并发下,WEB程序链接mysql与不连接mysql的性能情况对比
TopPGF 发表于2年前
并发下,WEB程序链接mysql与不连接mysql的性能情况对比
  • 发表于 2年前
  • 阅读 9
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

WEB程序效率问题都是在数据库IO方面,究竟数据库对web程序效率影响有多大?

操作系统:centos

测试机IP:172.16.8.30

请求机IP:172.16.8.14

测试语言:PHP

测试数据库:mysql

test表内数据:17200890条

连接方式:PDO

压力测试工具:webbench

程序代码:

<?php
header('Content-Type:text/html; charset=utf-8');
try{
    $mysql = (int)$_GET['mysql'];
    if($mysql){
        $pdo = new PDO(
        'mysql:host=127.0.0.1;dbname=test',
        'root','*******',
        array(
            PDO::ATTR_TIMEOUT => 1,                                 
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,      
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,           
        )
        );
        $sql ="SELECT COUNT(id) FROM myisam";
        $rs = $pdo->query($sql);  
        echo 'mysql执行完了';
        
    }else{
        $sql ="SELECT COUNT(id) FROM myisam";
        echo '不执行mysql';
    }

}catch(Exception $e){
    $info ="####################################################";
    $info .="\n时间:".date("Y-m-d H:i:s");
    $info .="\n错误信息:".$e->getMessage().'  错误行号:'.$e->getLine();
    $info .="\n####################################################\n\n";
    echo $info;
}

webbench命令:

/usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=1 //链接mysql 
/usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=0 //不链接mysql

测试结果:

[root@localhost local]# /usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=0  
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://172.16.8.30/mysqltest.php?mysql=0
1000 clients, running 30 sec.

Speed=254144 pages/min, 609995 bytes/sec.
Requests: 127072 susceed, 0 failed.
[root@localhost local]# /usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=0
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://172.16.8.30/mysqltest.php?mysql=0
1000 clients, running 30 sec.

Speed=212818 pages/min, 510813 bytes/sec.
Requests: 106409 susceed, 0 failed.
[root@localhost local]# /usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=0
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://172.16.8.30/mysqltest.php?mysql=0
1000 clients, running 30 sec.

Speed=289674 pages/min, 695434 bytes/sec.
Requests: 144837 susceed, 0 failed.
[root@localhost local]# /usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=0
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://172.16.8.30/mysqltest.php?mysql=0
1000 clients, running 30 sec.

Speed=251946 pages/min, 605405 bytes/sec.
Requests: 125973 susceed, 0 failed.
[root@localhost local]# /usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=1
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://172.16.8.30/mysqltest.php?mysql=1
1000 clients, running 30 sec.

Speed=116806 pages/min, 287787 bytes/sec.
Requests: 58403 susceed, 0 failed.
[root@localhost local]# /usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=1
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://172.16.8.30/mysqltest.php?mysql=1
1000 clients, running 30 sec.

Speed=103078 pages/min, 269159 bytes/sec.
Requests: 51539 susceed, 0 failed.
[root@localhost local]# /usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=1
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://172.16.8.30/mysqltest.php?mysql=1
1000 clients, running 30 sec.

Speed=110758 pages/min, 274232 bytes/sec.
Requests: 55379 susceed, 0 failed.
[root@localhost local]# /usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=1
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://172.16.8.30/mysqltest.php?mysql=1
1000 clients, running 30 sec.

Speed=24846 pages/min, 87412 bytes/sec.
Requests: 12423 susceed, 0 failed.
[root@localhost local]# /usr/local/webbench/webbench -c 1000 -t 30 http://172.16.8.30/mysqltest.php?mysql=1
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://172.16.8.30/mysqltest.php?mysql=1
1000 clients, running 30 sec.

Speed=129234 pages/min, 318405 bytes/sec.
Requests: 64617 susceed, 0 failed.

结论:并发下,不链接mysql的性能比链接mysql高一倍左右

共有 人打赏支持
粉丝 0
博文 5
码字总数 755
×
TopPGF
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: