--enable-inline-optimization --disable-debug
LAMP这个词典由来最早始于德国杂志“c't Magazine”,Michael Kunze在1990年最先把这些项目组合在一路创造了LAMP的缩写字。这些组件固然并不是开开端就设计为一路应用的,然则,这些开源软件都可以很便利的随时获抱病免费获得。这就导致了这些组件经常在一路应用。在以前的几年迈,这些组件的兼容性赓续完美,在一路的应用情况变得异常普便。为了改良不合组件之间的协作,已经创建了某些扩大功能。今朝,几乎在所有的Linux宣布版中都默认包含了“LAMP stack”的产品。这些产品构成了一个强大年夜的Web应用法度榜样平台
LAMP 平台由四个组件构成,呈分层构造。每一层都供给了全部软件栈的一个关键部分:
- Linux:Linux 处在最低层,供给操作体系。其他每个组件实际上也在 Linux 上运行。然则,并不必定局限于 Linux,如有须要,其他组件也可以在 Microsoft® Windows®、Mac OS X 或 UNIX® 上运行。
- Apache:次低层是 Apache,它是一个 Web 办事器。Apache 供给可让用户获得 Web 页面的机制。Apache 是一款稳定的、支撑关键义务的办事器,Internet 上跨越 65% 的网站都应用它作为 Web 办事器。PHP 组件实际上是在 Apache 中,动态页面可以经由过程 Apache 和 PHP 创建。
- MySQL:MySQL 供给 LAMP 体系的数据存储端。有了 MySQL,便可以获得一个异常强大年夜的、合适运行大年夜型复杂站点的数据库。在 Web 应用法度榜样中,所稀有据、产品、帐户和其他类型的信息都存放在这个数据库中,经由过程 SQL 说话可以很轻易地萌芽这些信息。
- PHP:PHP 是一门简单而有效的编程说话,泥像是粘合剂,可以将 LAMP 体系所有其他的组件粘合在一路。您可以应用 PHP 编写能拜访 MySQL 数据库中的数据和 Linux 供给的一些特点的动态内容。
[检测对象]
为了获得完全的调试结不雅,建议你采取 ApacheBench 或者 httperf之类的软件。如不雅你对非 LAMP 架构的办事器测试有兴趣的话,建议你采取微软的免费软件: Web Application Stress Tool(须要 NT 或者 2000)。(其它办事器测试对象)
检测 Apache ,采取 top d 1 显示所有过程的 CPU 和内存情况。别的,还采取 apachectl status 敕令
[硬件优化]
1、进级硬件的一般规矩:对于 PHP 脚本而言,重要的瓶颈是 CPU ,对于静态页面而言,瓶颈是内存和收集。一台 400 Mhz 的通俗奔跑机械所下载的静态页面就能让 T3 专线(45Mbps)饱和。
2、采取 hdparm 来竽暌古化磁盘,一般能晋升 IDE 磁盘读写机能 200%,然则对 SCSI 硬盘也有效不雅。(不合类型的硬盘比较)
[策略优化]
3、Apache 处理 PHP 脚本的速度要比静态页面慢 2-10 倍,是以尽量采取多的静态页面,少的脚本。
4、PHP 脚本如不雅不做缓冲,每次调用都须要编译,是以,安装一个 PHP 缓冲产品能晋升 25-100% 的机能。
5、如不雅你采取了 Linux 体系,建议进级内核到 2.4,因为静态页面由内查究事。
6、别的一项缓冲技巧是把不常修改的 PHP 页面采取 HTML 缓冲输出。
7、不要在 Web 办事器上运行 X-Windows ,关掉落没有须要运行的过程。
(1)应用敕令
8、如不雅可以或许用文本就不要用图像,尽量减小图片的尺寸。
9、分散负载,把数据库办事器放到别的的机械上去。采取别的低端的机械办事图片和 HTML 页面,如不雅所有的静态页面在别的一台办事器上处理,可以设置 httpd.conf 中的 KeepAlives 为 off ,来削减断开连接的时光。
10、以上所有的办法都是针对单机而言的,如不雅你认为体系照样不敷快,可以采取集群,负载均衡,缓冲技巧。采取 Squid 作为缓冲,设备 Squid 的办法。
[编译优化]
12、采取最新版本的 Apache ,并把 PHP 编译个中,或者采取 DSO 模式,不要采取 CGI 方法。
13、编译 PHP 时,建议采取如下的参数:
[设备优化]
14、修改 httpd.conf :
# 封闭 DNS lookups,PHP 脚本只拿 IP 地址
HostnameLookups off
15、如不雅收集拥挤,CPU 资本不敷用,采取 PHP 的 HTML 紧缩功能:
output_handler = ob_gzhandler
PHP 4.0.4 的用户请不要应用,因为存在内存泄漏问题。
16、修改 httpd.conf 中的 SendBufferSize 为你最大年夜的页面文件的大年夜小。加大年夜内核的 TCP/IP 写缓冲大年夜小。
17、采取数据库的持久连接时,不要把 MaxRequestsPerChild 设置得太大年夜。
[第三方软件优化]
11、把基于文件的会话切换到基于共享内存的会话。编译 PHP 时采取 --with-mm 选项,在 php.ini 中设置 set session.save_handler=mm 。这个简单的修改能让会话治理时光缩短一半。
18、如不雅爱好大年夜修改 Apache 源码入手,可以安装 lingerd。在页面产生和发送后,每个 Apache 过程都邑浪费一段时光在客户连接上,Lingerd 能接收这项工作,让 Apache 敏捷办事下一?客户请求。
19、如不雅你足够大胆的话,还可以采取 Silicon Graphics 的 Accelerated Apache 补丁。这个工程能使 Apache 1.3 快 10 倍,使 Apache 2.0 快 4 倍。
安装一个 PHP 缓冲产品能晋升 25-100% 的机能。
1.清理办事器磁盘碎片:
不论Linux文件体系采取什愦文件格局(ext3、JFS、XFS、ReiserFS )、何种类型的硬盘(IDE 、SCSI),跟着时光的推移文件体系都邑趋势于碎片化。ext3、JFS等高等文件体系可以削减文件体系的碎片化,然则并没有清除。在劳碌的数据库办事器中,跟着时光的以前,文件碎片化将降低硬盘机能,硬盘机能大年夜硬盘读出或写入数据时才能留意到。时光长了会发明每个磁盘上确切积聚了异常多的垃圾文件,释放磁盘空间可以赞助体系更好地工作。Linux最好的┞符理磁盘碎片的办法是做一个完全的备份,从新格局化分区,然后大年夜备份恢复文件。然则对于7×24小时工作关键义务办事器来说是比较艰苦的。Kleandisk是一个高效的磁盘清理对象,它能把磁盘汕9依υ?件分成不合的"组",比如把所有的"core"文件归成一组(Group),如许要删除所有core文件时只要删除这个组就行了。core文件是当软件运行掉足时产生的文件,它对于软件开辟人员比较有效,对于其他用户(比如电子邮件办事器)却没有任何意义。是以,如不雅没有软件开辟的须要,见到core文件就可以将其删除。
推荐阅读
Array诠释“权·变”之道 看NFP平台如何让企业灵活多变不为IT所桎梏
【51CTO.com原创稿件】查访赵耀是在Array NFP收集功能平台宣布会上一个很短的间隙,他方才停止滔喔赡主题演讲>>>详细阅读
本文标题:Linux+Apache+Mysql+PHP优化技巧
地址:http://www.17bianji.com/lsqh/35761.html
1/2 1