提高 LAMP 应用程序的并发用户性能

提高 LAMP 应用程序的并发用户性能

我们有一个 LAMP 应用程序,由于大量并发用户连接到该应用程序,我们开始感受到性能压力。我查看了 Apache 和 MySql 的各个参数,我们需要配置它们以获得大量用户时更好的性能,但我认为这不会带来任何进一步的改进。我想知道是否还有其他策略可以让我们增加可以使用基于 Web 的 LAMP 应用程序的并发用户数量,而不会看到性能下降。是否可以添加更多 apache 服务器或更多 mysql 服务器并对它们进行负载平衡?

答案1

对于支持 DB 的应用程序而言,影响性能的第一个最大因素可能是查询性能。您是否对应用程序/数据库运行过任何查询分析,以查看查询时间花在了哪里?

在优化查询性能之后,在考虑将数据库分布到更高性能的多节点架构之前,还有其他针对第一个数据库的优化策略。您可以查看以下内容:- 键和索引(与查询性能有关,但对表优化也很重要)- 数据库大小和磁盘分区(包括数据大小)- 存储引擎(哪个版本的 LAMP/MySQL?MyISAM 引擎是 MySQL 5.5.5 之前的默认引擎)- 缓冲区/缓存调整

您可以在 FOSS 服务器项目上获取有关 FOSS 服务器的更多信息,包括 LAMP 和 MySQL 安装。http://www.veriserver.net/a/fossmain.htm。此地址有一个技术论坛的链接,为服务器管理员提供 FOSS 帮助。

答案2

尽管有人警告我不要回答你的问题,因为你的接受率很低,但我还是个新手,所以不确定这到底意味着什么。在找到答案之前,这里有一些选择。

您需要做的第一件事是找出应用程序的瓶颈到底在哪里。首先使用以下命令检查应用程序的开发副本:调试剖析器。这将为您提供非常精确的执行概述。

如果你运气不好,你的问题只出现在生产环境中(负载下),我建议你尝试一下 Facebook 的专家它的功能与 xDebug 大致相同,但更轻量。

通常情况下,应用程序运行缓慢的问题在于数据库。由于您使用的是 MySQL,我建议将其慢查询日志打开并运行 24-48 小时。这会让您的应用速度进一步变慢,但如果您能解决问题,那么这一切都是值得的。

过了一段时间,你使用 Percona Toolkit(前 Maatkit)的pk-查询-摘要分析慢日志。它可能会(也可能会)显示一两个可以修复并提升性能的查询。

最后,您可能根本不需要新硬件。

相关内容