LAMP服务器性能提示[关闭]


11

可以为运行LAMP服务器的人员提供哪些性能提示?

在某些特定于发行版的情况下,我针对的是Debian。

Answers:


26

这实际上取决于您的工作量。

  • 对于L部分

    • 得到很多记忆
    • 如果可以超过4GB,请选择64位。
    • 对于您的内容,日志和MySQL数据为分区的分区,请使用安装选项:noatime,nodiratime。
    • 使用单独的物理驱动器/ raid集,理想情况下,将SQL数据,日志和您提供的内容保留在每个主轴上。
  • 对于堆栈一部分-也许您想将其完全替换为nginxlighthttpd,或者只是将Apache保留为动态内容,并使用单独的服务器(例如这两个服务器或mathopd)保留静态内容。看看这里为更多的选择。如果您要同时运行Apache和另一台服务器,则第二个IP地址将很方便。要减少最终用户的延迟,请使用带有保持活动状态的http / 1.1。考虑将CDN用于静态内容。

  • 对于灯泡的M部分-看看mysqlperformanceblog。从我的头顶:

    • 记录慢查询,
    • 给足够的记忆,
    • 考虑使用innodb。
    • 如果您要搜索的文本很多,请使用sphinx并执行一个可重建索引的批处理作业。
    • 考虑终止运行时间超过XYZ秒的查询。最好让1%的用户不满意,而不是在高峰时间关闭整个网站。但这实际上取决于您是否处理现金交易或显示漂亮的图片。
    • 如果可以,请使用memcached来缓存更多“昂贵” SQL查询的结果。当您更改SQL内容时,请记住使缓存无效。另一方面,我的站点很少,所有数据都可以舒适地容纳在内存中,因此MySQL正在快速发展,并且不需要额外的缓存。
  • 对于P

    • 设置脚本的执行超时。
    • 考虑使用一些PHP加速器 /操作码缓存。我对xcache非常满意,但现在不使用它。
    • 如果您有CPU密集型处理-缓存结果并将其存储在SQL或memcached中

并不是真正的性能提示,但是可以进行异地备份。真。


1
如果我可以添加此内容,我最近在博客上发布了有关通过Amazon S3进行推和拉策略的安全备份的信息。对于银行数据而言并不可行,但是您信任amzon的所有内容都应该可以。logaholic.de/2009/05/21/…–
卡斯滕

在您发表评论之前,我实际上已经注意到了该博客文章;-]。无论如何还是不错的。您可以随时加密备份以使其更加安全。
pQd

3

我真的建议在两个不同的机器上分开MySQL和Apache / PHP。

例如,我有一台机器(C2D E6600)总是峰值达到2.0或高于平均负载。我将MySQL放在第二台计算机(P4C 3Ghz)上,此后两个平均负载均未超过0.2-0.3。因此,我从一个非常慢的站点转到了一个快速站点,其中两台服务器的性能裕度很高。


好点子。我只能推测您的瓶颈可能是IO子系统/驱动器的响应能力。也许然后将数据分离到两个不同的驱动器上/拥有出色的磁盘控制器也可以解决问题。无论如何,更多的内存和更多的cpus总是很好的,但是这样一来,您也会获得更多的故障点。
pQd

好吧,我不确定这是磁盘I / O,因为大多数(假设是90%)SQL命中都已缓存。我当时在考虑CPU上下文切换,但我不知道这是否真的可以发挥重要作用。
安托万·本克默恩(Anntoine Benkemoun),2009年

1

对于P部分,您可以考虑使用APC进行操作码缓存。也可以考虑使用php而不是默认的mod_php来实现mod_fastcgi


我真的很喜欢eAccelerator。它为我的网站提供了最佳性能。
TheHippo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.