文档章节

并发下,WEB程序链接mysql与不连接mysql的性能情况对比

TopPGF
 TopPGF
发布于 2016/04/16 11:45
字数 755
阅读 12
收藏 0

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高一倍左右

© 著作权归作者所有

共有 人打赏支持
TopPGF
粉丝 0
博文 5
码字总数 755
作品 0
深圳
秒杀场景下的开源MySQL压测及性能优化

在2016年底发布了MySQL 5.7的GA版本,但大部分公司线上用的还是5.6的版本。Facebook的MyRocks也是基于5.6进行开发,MyRocks未来会直接合并到8.0。 本文的分享是基于MySQL 5.6.19和Percona 5...

杨德华
2017/02/09
0
0
Mycat基准测试报告

好久没上OSC,上面安排测下Mycat,于是申请服务器,花了两个周做出这个东西,供以借鉴。 一、测试目标 MyCAT 是一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务、ACID、可以替...

尚浩宇
2016/08/02
988
0
Nginx基础

一、 Nginx 基础 1、简介 2、 功能 3、 优点 4、 LNMP 实现原理和架构(Linux Nginx MySQL PHP) 5、 Nginx 的应用场合 6、 主流 WEB 服务产品对比...

IT_外卖小哥
01/05
0
0
你的MySQL服务器开启SSL了吗?

作者介绍 赵海亮,现任职于58赶集集团-安居客MySQL DBA,主要从事安居客MySQL数据库的优化、升级、迁移等工作。 最近,准备升级一组MySQL到5.7版本,在安装完MySQL5.7后,在其data目录下发现...

赵海亮
2017/07/25
0
0
高性能web服务器OpenResty的一些感谈

前言:火云邪神语录:天下武功,无坚不破,唯快不破!Nginx的看家本领就是速度,Lua的拿手好戏亦是速度,这两者的结合在速度上无疑有基因上的优势。 最先将Nginx,Lua组合到一起的是OpenRes...

English0523
2015/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 到底谁是小公猫……

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Trivium的单曲《Throes Of Perdition》 《Throes Of Perdition》- Trivium 手机党少年们想听歌,请使劲儿戳(这里) @小鱼丁:...

小小编辑
54分钟前
113
3
基础选择器

注意:本教程参考自网上流传的李兴华老师的jquery开发框架视频,但是苦于没有相应的配套笔记,由我本人做了相应的整理. 本次学习的内容 学习jquery提供的各种选择器的使用,掌握了jquery选择...

江戸川
今天
1
0
Spring中static变量不能@value注入的原因

今天本想使用@Value的方式使类中的变量获得yml文件中的配置值,然而一直失败,获得的一直为null。 类似于这样写的。 public class RedisShardedPool { private static ShardedJedisPool pool...

钟然千落
今天
2
0
CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部