虚拟机搭建本地站点 /www/wwwroot/192.168.6.133/index.php

<?/*
模拟随机选取3万条热数据
取出后存储在memcached
生命周期为5分钟
同时,调整ab参数,尽量在1分钟内完成缓存创建
*/$id = 13300000 + mt_rand(0,30000);
$sql = 'select log_id,create_uid,room_type,create_time from gold_room_log where log_id =' . $id;$mem = new memcache();
// $mem->pconnect('localhost');
$mem->connect('localhost', 11211) or die ("Could not connect"); //连接Memcached服务器if( ($com = $mem->get($sql)) === false) {$conn = mysqli_connect('127.0.0.1','root','123456');mysqli_query($conn,'use test');mysqli_query($conn,'set names utf8');$rs = mysqli_query($conn,$sql);$com = mysqli_fetch_assoc($rs);$mem->add($sql,$com,false,50);
}print_r($com);

创建脚本统计服务器每秒状态,并执行

[root@localhost 192.168.6.133]# cat tjstatus.sh
#!bash/bin
while true
do mysqladmin -uroot -p123456 ext|awk '/Queries/{q=$4}/Threads_connected/{c=$4}/Threads_running/{r=$4}END{printf("%d %d %d\n",q,c,r)}' >> status.txtsleep 1
done
[root@localhost 192.168.6.133]# sh tjstatus.sh

ab测试工具测试网站

[root@localhost 192.168.6.133]# ab -n 400000 -c 50 http://192.168.6.133/index.php
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking 192.168.6.133 (be patient)
Completed 40000 requests
Completed 80000 requests
Completed 120000 requests
Completed 160000 requests
Completed 200000 requests
Completed 240000 requests
Completed 280000 requests
Completed 320000 requests
Completed 360000 requests
Completed 400000 requests
Finished 400000 requestsServer Software:        nginx
Server Hostname:        192.168.6.133
Server Port:            80Document Path:          /index.php
Document Length:        118 bytesConcurrency Level:      50
Time taken for tests:   216.758 seconds
Complete requests:      400000
Failed requests:        71757(Connect: 0, Receive: 0, Length: 71757, Exceptions: 0)
Write errors:           0
Total transferred:      108328243 bytes
HTML transferred:       47128243 bytes
Requests per second:    1845.38 [#/sec] (mean)
Time per request:       27.095 [ms] (mean)
Time per request:       0.542 [ms] (mean, across all concurrent requests)
Transfer rate:          488.05 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
Connect:        0    1   1.1      0      39
Processing:     0   26  22.0     23     278
Waiting:        0   26  21.9     22     278
Total:          1   27  22.0     23     286Percentage of the requests served within a certain time (ms)50%     2366%     3475%     4080%     4490%     5795%     6998%     8399%     94100%    286 (longest request)

查看测试的数据

[root@localhost 192.168.6.133]# awk '{q=$1-last;last=$1}{printf("%d %d %d\n",q,$2,$3)}' status.txt
7813 6 2
20639 12 3
16657 4 1
...

复制数据到excel制成图表

说明

1.查看MySQL运行状态
show statusmysqladmin ext

mysql> show status;
+-----------------------------------------------+-------------+
| Variable_name                                 | Value       |
+-----------------------------------------------+-------------+
| Queries                                       | 4827230     |   服务器执行的请求个数,包含存储过程中的请求。
| Threads_connected                             | 12          |   当前打开的连接的数量。
| Threads_running                               | 1           |   激活的(非睡眠状态)线程数。
···
[root@iZbp18geqyp8xpk4mvn1v3Z ~]# mysqladmin -uroot -p123456 ext|awk '/Queries/{printf("%d ",$4)}/Threads_connected/{printf("%d ",$4)}/Threads_running/{printf("%s\n",$4)}'
4831608 12 1
[root@iZbp18geqyp8xpk4mvn1v3Z ~]# mysqladmin -uroot -p123456 ext|awk '/Queries/{q=$4}/Threads_connected/{c=$4}/Threads_running/{r=$4}END{printf("%d %d %d\n",q,c,r)}'
190 3 1

AWK一种处理文本文件的语言,文本分析工具。

2.Memcached
一个自由开源的,高性能,分布式内存对象缓存系统

Redhat/Fedora/Centos下安装

yum install libevent libevent-devel               自动下载安装libevent库
yum install memcached                             自动安装memcached

查看安装路径

[root@iZbp18geqyp8xpk4mvn1v3Z ~]# whereis memcached
memcached: /usr/bin/memcached /usr/share/man/man1/memcached.1.gz

命令帮助

[root@iZbp18geqyp8xpk4mvn1v3Z ~]# /usr/bin/memcached -h
memcached 1.4.15

作为后台服务程序运行

/usr/local/memcached/bin/memcached -p 11211 -m 64m -d
启动选项:-d是启动一个守护进程;
-m是分配给Memcache使用的内存数量,单位是MB;
-u是运行Memcache的用户;
-l是监听的服务器IP地址,可以有多个地址;
-p是设置Memcache监听的端口,,最好是1024以上的端口;
-c是最大运行的并发连接数,默认是1024;
-P是设置保存Memcache的pid文件。

启动memcached

[root@iZbp18geqyp8xpk4mvn1v3Z ~]# /usr/bin/memcached -u nobody -m 512 -d
[root@iZbp18geqyp8xpk4mvn1v3Z ~]# ps aux|grep mem
nobody    4563  0.0  0.0 325564   916 ?        Ssl  16:02   0:00 /usr/bin/memcached -u nobody -m 512 -d
root      4572  0.0  0.0 112664   968 pts/3    S+   16:03   0:00 grep --color=auto mem

3.ab测试工具

yum install apr-util     安装依赖包apr-util
yum install yum-utils       安装yumdownload命令

新建一个目录,下载解压

cd /usr/local
mkdir abtmp
cd abtmp
yum install yum-utils.noarch
yumdownloader httpd-tools*
rpm2cpio httpd-tools*.rpm | cpio -idmv

将./user/bin/ab复制到系统bin下

cp /usr/local/abtmp/usr/bin/ab /usr/bin

安装完成

ab –help

参数说明

-n 即requests,用于指定压力测试总共的执行次数。
-c 即concurrency,用于指定 的并发数。

测试本地appach服务器,100个用户同时访问服务器1000次

ab -n 1000 -c 100 localhost/index.php

【MYSQL优化2,3】观察服务器周期性变化相关推荐

  1. 史上最全的MySQL优化手册

    MySQL数据库优化大全 (注:文档参考高性能MySQL,SQL手册,官方文档 [提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! 大 ...

  2. MySQL优化配置之query_cache_size

    原理 MySQL查询缓存保存查询返回的完整结果.当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段.  查询缓存会跟踪查询中涉及的每个表,如果这写表发生变化,那么和这个表相关的所有缓存都将失 ...

  3. MySQL优化学习总结

    MySQL 性能优化的最佳20多条经验分享 http://www.jb51.net/article/24392.htm 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关 ...

  4. MySQL 优化原理(三)

    聊聊 MySQL 配置. 大多数开发者可能不太会关注 MySQL 的配置,毕竟在基本配置没有问题的情况下,把更多的精力放在 schema 设计.索引优化和 SQL 优化上,是非常务实的策略.这时,如果 ...

  5. MySQL优化之my.conf配置详解

    最近项目不太忙,所以有时间静心来研究下mysql的优化,对于MySQL的设置是否合理优化,直接影响到网站的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识, ...

  6. Mysql 优化的一些要点

    本文是学习<高性能 Mysql>中关于 Mysql 中查询优化需要注意的一些要点的总结: Schema 和数据类型优化 尽量避免使用 NULL 值,尤其存在索引时,因为如果 NULL 列是 ...

  7. java+mysql性能优化_Java培训实战教程之mysql优化

    Java培训实战教程之mysql优化 更新时间:2015年12月29日13时30分 来源:传智播客Java培训学院 浏览次数: 1.   mysql引擎 1.1.  引擎类型 MySQL常用的存储引擎 ...

  8. MySQL优化的一些基础

    在Apache, PHP, mysql的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分.对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接 影响到论坛的速度和承载量! ...

  9. mysql优化要点_你需要掌握的 Mysql 优化的一些要点

    本文是学习<高性能 Mysql>中关于 Mysql 中查询优化需要注意的一些要点的总结: Schema 和数据类型优化尽量避免使用 NULL 值,尤其存在索引时,因为如果 NULL 列是索 ...

最新文章

  1. soalris小記...
  2. android binder
  3. openoffice 安装后中文字符乱码问题
  4. jvm体系结构概述_JVM体系结构:JVM和JVM体系结构概述
  5. Study Notes ASP.Net 之Theme Skin
  6. linux中用户 机器名,Python 在linux下获得当前工作目录,主机名,用户名,操作系统平台等信息...
  7. Power BI Desktop报告中的Web URL配置
  8. 面试思考,入职初期怎么做
  9. 难道你不好奇?Thread.sleep(0):线程休眠0秒有什么意义!
  10. 机器学习笔记(二十一):决策边界
  11. len函数实例python_Python通过len函数返回对象长度
  12. 现代通信原理:月考(二)答案
  13. 公民住宅权不可侵犯!为阻强拆致人重伤,属正当防卫
  14. 计数器函数 php,PHP用函数嵌入网站访问量计数器
  15. 人工解决问题和用计算机解决问题的相同点,第2学时:计算机解决问题的过程_20120207110033703.doc...
  16. SAP(十)报表程序
  17. HTML<a>,<img>标签介绍及用法
  18. 在树莓派中Linux环境下rpm包的安装
  19. 行程卡是怎么记录行程的?
  20. 一份来自于全球的前端面试题清单,看看老外喜欢考哪些题(部分有答案)

热门文章

  1. linux硬盘可以拆吗,笔记本电脑硬盘拆下来,然后把移动硬盘也拆了,现在把移动硬盘安在笔记本上了,并安装了Linux系统...
  2. 的HTML5标签在Voiceover “眼里”是什么样
  3. 全球不用交税的国家,为什么不交
  4. 国产AD芯片 MS1243应用
  5. 赵福全:疫情对中国汽车产业未来发展影响的预判
  6. python动物识别系统(仅有识别功能)
  7. 基于Nibiru的安卓AR开发教程
  8. 2015武汉大学第八届Eming杯现场赛E题题解
  9. java基于ssm智慧农贸信息化管理平台
  10. Java程序员千千万,想要涨薪的占一半,这篇读完,跳槽涨薪有希望了!