欢迎来到天天文库
浏览记录
ID:25367518
大小:69.68 KB
页数:5页
时间:2018-11-19
《[计算机]lamplinux+apache+mysql+php优化技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、LAMP:这个词的由来最早始于德国杂志“c'tMagazine”,MichaelKunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字。这些组件虽然并不是开开始就设计为一起使用的,但是,这些开源软件都可以很方便的随时获得并免费获得。这就导致了这些组件经常在一起使用。在过去的几年里,这些组件的兼容性不断完善,在一起的应用情形变得非常普便。为了改善不同组件之间的协作,已经创建了某些扩展功能。 目前,几乎在所有的Linux发布版中都默认包含了“LAMPstack”的产品。这些产品组成了一个强大
2、的Web应用程序平台。 LAMP平台由四个组件组成,呈分层结构。每一层都提供了整个软件栈的一个关键部分: Linux:Linux处在最低层,提供操作系统。其他每个组件实际上也在Linux上运行。但是,并不一定局限于Linux,如有必要,其他组件也可以在Microsoft®Windows®、MacOSX或UNIX®上运行。 Apache:次低层是Apache,它是一个Web服务器。Apache提供可让用户获得Web页面的机制。Apache是一款稳定的、支持关键任务的服务器,Internet上超过65
3、%的网站都使用它作为Web服务器。PHP组件实际上是在Apache中,动态页面可以通过Apache和PHP创建。 MySQL:MySQL提供LAMP系统的数据存储端。有了MySQL,便可以获得一个非常强大的、适合运行大型复杂站点的数据库。在Web应用程序中,所有数据、产品、帐户和其他类型的信息都存放在这个数据库中,通过SQL语言可以很容易地查询这些信息。 PHP:PHP是一门简单而有效的编程语言,它像是粘合剂,可以将LAMP系统所有其他的组件粘合在一起。您可以使用PHP编写能访问MySQL数据库中的
4、数据和Linux提供的一些特性的动态内容。 [检测工具] 为了得到完整的调试结果,建议你采用ApacheBench或者httperf之类的软件。如果你对非LAMP架构的服务器测试有兴趣的话,建议你采用微软的免费软件:WebApplicationStressTool(需要NT或者2000)。(其它服务器测试工具) 检测Apache,采用topd1显示所有进程的CPU和内存情况。另外,还采用apachectlstatus命令 [硬件优化] 1、升级硬件的一般规则:对于PHP脚本而言,主要的瓶颈是C
5、PU,对于静态页面而言,瓶颈是内存和网络。一台400Mhz的普通奔腾机器所下载的静态页面就能让T3专线(45Mbps)饱和。 2、采用hdparm来优化磁盘,一般能提升IDE磁盘读写性能200%,但是对SCSI硬盘也有效果。(不同类型的硬盘对比) [策略优化] 3、Apache处理PHP脚本的速度要比静态页面慢2-10倍,因此尽量采用多的静态页面,少的脚本。 4、PHP脚本如果不做缓冲,每次调用都需要编译,因此,安装一个PHP缓冲产品能提升25-100%的性能。 5、如果你采用了Linux系统
6、,建议升级内核到2.4,因为静态页面由内核服务。 6、另外一项缓冲技术是把不常修改的PHP页面采用HTML缓冲输出。 7、不要在Web服务器上运行X-Windows,关掉没有必要运行的进程。 8、如果能够用文本就不要用图像,尽量减小图片的尺寸。 9、分散负载,把数据库服务器放到另外的机器上去。采用另外低端的机器服务图片和HTML页面,如果所有的静态页面在另外一台服务器上处理,可以设置httpd.conf中的KeepAlives为off,来减少断开连接的时间。 10、以上所有的方法都是针对单机而
7、言的,如果你觉得系统还是不够快,可以采用集群,负载均衡,缓冲技术。采用Squid作为缓冲,配置Squid的方法。 [编译优化] 11、把基于文件的会话切换到基于共享内存的会话。编译PHP时采用--with-mm选项,在php.ini中设置setsession.save_handler=mm。这个简单的修改能让会话管理时间缩短一半。 12、采用最新版本的Apache,并把PHP编译其中,或者采用DSO模式,不要采用CGI方式。 13、编译PHP时,建议采用如下的参数: --enable-inli
8、ne-optimization--disable-debug [配置优化] 14、修改httpd.conf: #关闭DNSlookups,PHP脚本只拿IP地址 HostnameLookupsoff 15、如果网络拥挤,CPU资源不够用,采用PHP的HTML压缩功能: output_handler=ob_gzhandler PHP4.0.4的用户请不要使用,因为存在内存泄漏问题。 16、修改httpd.conf中的SendB
此文档下载收益归作者所有