Apache+PHP+MySQL+Tomcat性能方面优化技巧(原创)

时间:2021-07-18 01:10:08

Apache+PHP+MySQL+Tomcat性能方面优化技巧(原创)

作者:余超   EMail:yuchao86@gmail.com


1.Apache性能优化技巧
(1)扁平配置使用独立缓存磁盘mod_disk_cache频繁访问的数据设置缓存而不是mod_mem_cache
(2)恰当的Expires, Etag, 和 Cache-Control Headers配置
(3)使用 mod_gzip/mod_deflate
(4)关闭safe_mode for php不使用threaded mpm with mod_php
(5)不要设置KeepAliveTimeout太高并允许symlinks

2.PHP性能优化技巧:
(1)PHP 缓存编译后的静态页,减少脚本编译能提升 25-100% 的性能;
(2)编译 PHP 时,采用如下的参数:-enable-inline-optimization --disable-debug,减少脚本执行开销;
(3)尽可能的使用PHP内部函数,不要随便就复制变量;
(4)对脚本中没有使用的变量应删除,PHP会当全局变量检查是否定义而降低效率,对global变量,应该用完就unset()掉;
(5)在多重嵌套循环中,如有可能,应当将最长的循环放在内层,最短循环放在外层,这样就可以减少cpu跨切循环层的次数,从而优化程序性能。

3.MYSQL性能优化技巧:
(1)优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作;
(2)使用命令show variables like '%slow%'分析慢查询日志,把慢查询去除;
(3)EXPLAIN你的SELECT查询,为索引缓存优化你的查询
(4)根据实际应用,选择正确的存储引擎,重查询速度没有事务的用MyISAM,重事务和安全的用InnoDB;
(5)固定长度的表会更快,越小的列会越快,合适的字段使用合适的类型,比如:存放固定数目的值使用ENUM比VARCHAR更高效等等。

4.TOMCAT性能优化技巧:
(1)修改服务器的配置文件web.xml中的几个参数:development,是否将环境设置为开发环境;genStringAsCharArray,是否生成更有效的字符数组;modificationTestInterval,检查jsp文件是否已经更新的频度(以秒为单位);trimSpaces,是否将response的内容的空格去掉,这几个值分别设置为:false,true,1800(可以自己设定),true。
(2)使用Loadrunner或者Jmeter来压力测试检测接口的效率,找出接口的瓶颈并修正;
(3)预先编译jsp,加快jsp的编译速度,调整线程的数目;
(4)JVM参数-Xms<size>调优和禁用DNS查询等等
(5)针对测试结果或测试过程中进行分析,确定性能最低标准,量化负载均衡。