LAMP 服务器性能提示

Unk*_*ech 11 lamp

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

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

pQd*_*pQd 26

这真的取决于你的工作量。

  • 对于L部分

    • 获得大量记忆,
    • 如果您可以超过 4GB,请选择 64 位。
    • 对于您的内容、日志和 MySQL 数据所在的分区,请使用挂载选项:noatime、nodiratime。
    • 使用单独的物理驱动器/raid 集,最好将 SQL 数据、日志、您提供的内容保存在不同的主轴上。
  • 对于堆栈的A部分 - 好吧,也许您想用nginxlighthttpd完全替换它,或者只是将 Apache 留给动态内容,并为静态内容使用单独的服务器(如这两个或mathopd)。查看此处了解更多选项。如果您要在同一台机器上同时运行 Apache 和另一台服务器,第二个 IP 地址将很方便。要减少最终用户的延迟,请使用带有 keep-alive 的 http/1.1。考虑对静态内容使用 CDN。

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

    • 记录慢查询,
    • 给足够的内存,
    • 考虑使用innodb。
    • 如果您有大量文本要搜索 - 使用sphinx并有一个重建索引的批处理作业。
    • 考虑终止运行时间超过 XYZ 秒的查询。最好让 1% 的用户不高兴,而不是在高峰时间关闭整个网站。但这实际上取决于您是处理现金交易还是展示精美的图片。
    • 如果可以,请使用 memcached 来缓存更“昂贵”的 SQL 查询的结果。请记住在更改 SQL 内容时使缓存无效。另一方面,我有相当多的站点,所有数据都可以轻松地放入内存中,因此 MySQL 非常快,不需要额外的缓存。
  • 对于P

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

不是真正的性能提示,但确实进行异地备份。真的。