• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >windows > lamp网站加速优化

lamp网站加速优化

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含lamp网站,lamp引物设计网站,lamp 优化,lamp体系优化,lamp兄弟连官网等服务器相关知识,网友希望可以进行参考

针对Apache的优化主要是针对httpd.conf的优化,

Apache2.0中MPM分为3种perfork、worker、event)。perfork从Apache1.3中继承下来的,它采用的是进程管理方式,所以它可以提供更可靠的性能和更好的兼容性;worker是Apache2.0中新增加的方式,它采用了线程控制方法,可以比perfork更节约系统开销、处理更多的数据量,但同时兼容性并不是很好,很多旧的程序无法工作在worker下;event仍处于试验阶段,它为每个任务分配不同的进程池,目前不应该采用。httpd.conf只能做一个出发点。即便如此如果仅仅使用httpd.conf出厂默认值的话还是令人痛心不已。

为了验证后文Apache参数的调整是否起作用,我们通常用Apache附带的ab(ApacheBench)对其进行压力测试。
ab最常用的语法格式是这样的:
ab-nXXX-cYYY-khttp://hostname.port/path/filename
其中:
-nXXX:
表示最多进行XXX次测试。也就是下载filename文件XXX次。
-cYYY:
客户端并发连接个数。
-k:
启用HTTPKeepAlive功能
httpd.conf的优化点有以下几处:
1.KeepAlive
我安装的Apache2.0出厂值居然是Off。除非你的网站只有文字没有图片,否则改成On。然后所有的麻烦就来了。
以前看到过一个Web2.0和Web1.0的服务比较图,有印象的就是AdSense是1.0,垃圾Chitika成了2.0,同样Akamai是
1.0,
BitTorrent成了2.0,真晕。其实Akamai的图片存储服务主要解决服务器的KeepAlive问题。看下面这个sample.html:
Helloworldimgsrc="http://blog.penner.cn/hello.gif"/>
当浏览器将请求发送给Apache后,Apache会为该用户建立连接,返回/sample.html的内容,浏览器解析HTML文件,发现还需要
显示
/hello.gif,就再次向Apache发出请求。这时如果KeepAlive为Off,Apache就需要重新建立连接。试想如果页面请求了
1000个图片,Apache就需要建立1000个连接但建立第N个时候N-x个连接已经被Apache聪明的关闭了)。如果KeepAlive为
On,Apache会在同一个连接中处理所有这些请求,大大的节省了连接资源,可惜这个世界上有很多攻击者,他们会利用这个连接不断的特性不停的请求文
件,耗尽服务器的资源。所以一些大公司像Yahoo、AOL都选用Akamai作为图片存储服务,结果这些公司的sample.html版本就成了这个样
子:
Helloworldimgsrc="/hello.gif"/>
(真实地图片地址会比这个复杂)这样一来每次用户访问仅会向本机服务器的Apache请求一次,剩下的请求发送到akamai了。不必为akamai的能力担心,因为它有充足的抗负载技术,Web2.0的大喇叭们想用BT取代akamai,我靠。
2.MaxKeepAliveRequests
明白了1中的内容,这个看名字就知道一个连接可以最多发送多少次请求。默认是500。
3.KeepAliveTimeout
同样,两次请求间超过这个数字就中断这个连接。如果你的KeepAlive是On,MaxKeepAliveRequests是500,
KeepAliveTimeout是100,你可以算算攻击者们用多久可以耗干你的Apache。我把KeepAliveTimeout设为5,因为从我
网站受众人群的上网速度和网站的图片大小、数量考虑,5秒种可以完成加载多数页面。
4.StartServers
StartServers
的数字表示Apache启动后直接创建的httpd数量。比如你的服务器平时平均需要100个httpd,如果把StartServers设为10就会导
致Apache启动之初不停的创建剩下的90个httpd。如果你的服务器平时最多就用20个httpd,把StartServers设为50就浪费了资
源。这个参数没什么大不了,因为Apache会自己趋向于适合的httpd服务数。
5.MinSpareServers、MaxSpareServers
保留备用的httpd服务数最小值和最大值。即当不需要这么多httpd服务时,依然最少保留MinSpareServers个服务,但不超过MaxSpareServers个服务。需要根据Apache的运行寻找经验值。
6.ServerLimit,MaxClients
比较重要的一个值。ServerLimit通常应该等于MaxClients。MaxClients决定了最大的httpd进程数,如果攻击者占用
了
MaxClients的httpd服务数,你的网站就拒绝正常访问者访问了。但MaxClients的大小受内存的限制,因此Apache2的默认值是
250,并加上了ServerLimit参数作限制,如果想设大MaxClients,必须同时扩大ServerLimit,但ServerLimit不
应超过MaxClients。
7.MaxRequestsPerChild
决定了每个httpd服务可以处理的最大请求数,超过这个数字就需要新的httpd服务,后者又由MaxClients限制,环环相套。我的MaxRequestsPerChild是10000。
8.HostnameLookups
设为Off,避免DNS查询的等待。
除了这8个参数外,Apache的另一个可塑点是加载的Module,把不需要的LoadModule注释掉即可,大大的节省了内存。但是问题是你
不知道那个Module不需要,即便对照着Apache的Module文档朗读各个Module作用,也只能注释掉很少几个。下面是我比较踏实的注释掉的
几个Module:
mime_magic_module、info_module、userdir_module、proxy_module、proxy_ftp_module、proxy_http_module、proxy_connect_module。
PHP加速器
PHP没什么值得优化的地方这种东西真省心)。只是建议把php.ini中的数据库永久连接关闭以避免难堪的”Toomany
connections”错误。关闭php的mysql永久链接,即使php客户端mysql_pconnect这样的语句失效,但是不比担心现有的代码
发生错误,因为PHP会自动将mysql_pconnect当作mysql_connect处理,并且在页面执行完毕自动关闭数据库链接。缺点是每次访问
一个页面都会建立一次数据库链接,但不同于Apache的链接,因为Apache是每页都有N个链接机会,而数据库通常每页只需连接一次。
相对于对PHP本身的优化,安装一个PHP加速工具更有意义。以前是PHP
Eaccelerator,而现在流行的是eAccelerator此中有很多恩恩怨怨)。eAccelerator在程序层缓存php文件,而不是缓
存php的执行、输出结果,因此不必担心时效性。eAccelerator安装非常简便,只需要按步实施即可。
eAccelerator是继前面提到的升级硬件、内存和升级MySQL到4.x外另一个可以显著导致网站速度提升的武器。

本文出自 “好好活着” 博客,请务必保留此出处http://wolfword.blog.51cto.com/4892126/1295028

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • lamp网站加速优化

相关文章

  • 阐述Windows系统的超级帐户SYSTEM
  • windows以管理员权限运行命令介绍
  • iis中域名绑定的方法图解
  • Apache启动时无法加载php5apache2_2.dll解决办法
  • Windows2003 IIS6/7伪静态组件/安装/配置/下载
  • Windows Server 2008服务器系统数据安全
  • 服务器日志Tencent Virtual Printer Driver 未知的问题
  • srosa.sys插件导致计算机蓝屏故障
  • 解决Backup Exec无法显示Oracle实例
  • Windows 2003远程桌面登录RPC错误的解决方法

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 休眠文件hiberfil.sys有什么作用 如何清除?
    • Windows与Linux中生成以当前时间命名的文件
    • CentOS中自定义yum仓库和配置文件
    • WEB网站服务--Apache
    • Windows服务器下查IIS被挂iframe木马
    • 一个IO的传奇一生 (4) ---
    • nginx web缓存配置
    • Windows Server 2003 安装fastcgi图文详解
    • 如何设置视频质量
    • IIS开启Gzip失败的决方法和如何开启gzip

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有