优化

由浅入深探究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下的安装及使用过程。…

            

apache2.0x 开启gzip压缩和http缓存的配置方法

先谈gzip的配置方法,在apache2.0以上(包括apache2.0)的版中gzip压缩使用的是mod_deflate模块,下面是具体配置步骤:

第1步

LoadModule deflate_module modules/mod_deflate.so

LoadModule headers_module modules/mod_headers.so

打开httpd.conf后,先将上面两行配置前面的#号去掉,这样apache就会启用这两个模块,其中mod_deflate是压缩模块,就是对要传输到客户端的代码进行gzip压缩;mod_headers模块的作用是告诉浏览器页面使用了gzip压缩,如果不开启mod_headers那么浏览器就会对gzip压缩过的页面进行下载,而无法正常显示。…

        

Apache/Nginx 配置 Cache Last-Modified、Expires

正确使用Expires标识处理,可以使得页面更加有效被缓冲,节约带宽资源。
apache配置:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
</IfModule>…

    

网站前端性能优化总结

一、服务器侧优化

1添加 Expires 或 Cache-Control 信息头 

某些经常使用到、并且不会经常做改动的图片(banner、logo等等)、静态文件(登录首页、说明文档等)可以设置较长的有效期(expiration date),这些HTTP头向客户端表明了文档的有效性和持久性。如果有缓存,文档就可以从缓存(除已经过期)而不是从服务器读取。接着,客户端考察缓存中的副本,看看是否过期或者失效,以决定是否必须从服务器获得更新。

各个容器都有针对的方案,,以 Apache 为例:…

Apache 中 Keep Alive 配置的合理使用

Apache 服务器中,KeepAlive 是一个布尔值,On 代表打开,Off 代表关闭,这个指令在其他众多的 HTTPD 服务器中都是存在的。

KeepAlive 配置指令决定当处理完用户发起的 HTTP 请求后是否立即关闭 TCP 连接,如果 KeepAlive 设置为On,那么用户完成一次访问后,不会立即断开连接,如果还有请求,那么会继续在这一次 TCP 连接中完成,而不用重复建立新的 TCP 连接和关闭TCP 连接,可以提高用户访问速度。 …