LAMP 服务器性能提示

LAMP 服务器性能提示

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

如果某些东西是特定于发行版的,那么我的目标是 Debian。

答案1

这确实取决于你的工作量。

  • 为了大号部分

    • 获得大量记忆,
    • 如果可以超过 4GB,就使用 64 位。
    • 对于内容、日志和 MySQL 数据所在的分区,使用挂载选项:noatime、nodiratime。
    • 使用单独的物理驱动器/ RAID 集,理想情况下将 SQL 数据、日志、您提供的内容保存在单独的主轴上。
  • 为了A堆栈的一部分 - 好吧,也许你想用nginx或者轻量httpd或者干脆把 Apache 留给动态内容,并有单独的服务器(像这两个或数学) 静态内容。查看这里了解更多选项。如果您要在同一台机器上运行 Apache 和另一台服务器,则第二个 IP 地址会很方便。要减少最终用户的延迟,请使用具有 keep-alive 的 http/1.1。考虑使用 CDN 来处理静态内容。

  • 为了你的灯的一部分-看看mysql性能博客我首先想到的是:

    • 记录慢速查询,
    • 提供足够的内存,
    • 考虑使用 innodb。
    • 如果你有大量文本需要搜索——请使用狮身人面像并有一个重建索引的批处理作业。
    • 考虑终止运行时间超过 XYZ 秒的查询。让 1% 的用户感到不快总比在高峰时段让整个网站瘫痪要好。但这实际上取决于您是处理现金交易还是展示精美的图片。
    • 如果可以,请使用 memcached 来缓存更“昂贵”的 SQL 查询的结果。请记住,更改 SQL 内容时使缓存无效。另一方面,我有几个网站,所有数据都可以轻松地放在内存中,而 MySQL 的速度非常快,不需要额外的缓存。
  • 为了

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

这其实不是一个性能技巧,但确实需要进行异地备份。真的。

答案2

我确实建议将 MySQL 和 Apache/PHP 分开在两台不同的机器上。

例如,我有一台机器(C2D E6600)总是达到 2.0 甚至更高的平均负载。我将 MySQL 放在第二台机器(P4C 3Ghz)上,之后两台平均负载都没有超过 0.2-0.3。因此,我从一个非常慢的网站变成了一个快速的网站,两台服务器具有很大的性能裕度。

答案3

对于 P 部分,你可以考虑使用 ie 进行操作码缓存亚太经合组织. 也可以考虑mod_fastcgi使用 php 而不是默认的 mod_php。

相关内容