作家
登录

Linux+Apache+Mysql+PHP优化技巧

作者: 来源: 2017-06-14 17:04:40 阅读 我要评论

Linux+Apache+Mysql+PHP优化技能

--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

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)