由浅入深探究mysql索引结构原理、性能分析与优化

第一部分:基础知识 

第二部分:MYISAM和INNODB索引结构

1、 简单介绍B-tree B+ tree树

2、 MyisAM索引结构

3、 Annode索引结构

4、 MyisAM索引与InnoDB索引相比较

第三部分:MYSQL优化

1、表数据类型选择

2、sql语句优化

(1)     最左前缀原则

(1.1)  能正确的利用索引

(1.2)  不能正确的利用索引

(1.3)  如果一个查询where子句中确实不需要password列,那就用“补洞”。

(1.4)  like

(2)     Order by 优化

(2.1) filesort优化算法.

(2.2) 单独order by 用不了索引,索引考虑加where 或加limit

(2.3) where + orerby 

    

Nginx模块fastcgi_cache的几个注意点

eb项目中,大家都已经非常熟悉其架构流程了。都说Cache是万金油,哪里不舒服抹哪里。这些流程中,几乎每个环节都会进行cache。从浏览器到webserver,到cgi程序,到DB数据库,会进行浏览器cache,数据cache,SQL查询的cache等等。对于fastcgi这里的cache,很少被使用。去年年底,我对nginx的fastcgi_cache进行摸索使用。在我的测试过程中,发现一些WIKI以及网络上没被提到的注意点,这里分享一下。…

    

优化nginx 用fastcgi_cache,压测rps提升10几倍!!!!

未优化前:
ab压测
wenest2 微官网预览页(开启静态缓存) 1600 rps
优化后:
wenest2 微官网预览页(开启静态缓存) 22000 rps !!!!!!!!!!!!!!!!!!!!

结论:优化nginx后对于静态html页没有提高性能。

对于开启静态缓存的thinkphp系统,rps提升十几 倍。

对于不开启静态缓存的php程序,也有不同程度提升。但对 一些过度复杂的php页面提升不太大。
初步测试后台提交及手机端留言提交没有影响。
后续还要继续测试及调整配置参数。

 …

        

微信平台–基于Thinkphp 3.1.3性能压力测试

这两天对我本机及测试机的微信平台进行优化及性能压力测试,现在压力测试结果大幅 提高。提高幅度均在10倍以上。
以下为压力测试结果:
环境:忽略硬件配置
本机为:apache+APCu+ gzip+apache缓存
研发测试机为:nginx
压力测试工具为ab
命令为 ab -n 10000 -c 100 http://www.weburl.com/index.php
测试机要在测试机内运行命令,否则域名解析时间会影响结果。 …

            

ubuntu下用xhprof测试php程序性能 

ubuntu下用xhprof测试php程序性能

XHProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开 关来控制是否进行profile。总体来说是个不错的工具,下面介绍下在ubuntu下的安装及使用过程。…

            

php上传类(安全上传类)

php上传类(安全上传类)

[php]
<?php
//php文件上传类
//author: lenix 2014.10.7<!--more-->
header("Content-Type:text/html; charset=utf-8");
date_default_timezone_set("Asia/Shanghai");

class UploadFile
{
private $imageType=["image/gif","image/jpeg","image/jpg","image/png","image/x-png","image/bmp","image/x-ms-bmp","image/pjpeg"];//图片类型
private $fileType=["application/zip","application/msexcel","application/xml","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/mspowerpoint","application/vnd.ms-powerpoint","application/pdf","application/x-shockwave-flash","application/x-rar-compressed","application/x-rar","audio/mpeg","audio/x-ms-wma","flv-application/octet-stream","audio/x-ms-wmv","video/mp4","video/x-flv","audio/x-wav","application/msword","video/mpeg"];//文件类型
private $tmpName;
private $fileName;
private $error;
private $fileSize;//上传文件大小
private $maxSize=10000000;//最大允许上传大小
private $upName;
private $upDir="uploadfile/";//上传目录

//构造函数 默认为图片上传
function __construct($upType="image")
{
$this-&gt;tmpName = $_FILES["file"]["tmp_name"];
$this-&gt;fileName …