3

我正在构建一个 PHP 应用程序,它的 API 能够非常快速(在 100 毫秒内)响应所有请求,并且必须能够每秒处理多达 200 个查询(请求是 JSON 格式,响应需要数据库查找+每次都保存)。对于单个请求,我的代码运行速度足够快(非常一致地大约 30 毫秒),但是一旦它必须每秒响应多个请求,响应时间就会开始到处跳跃。

我不认为这是内存问题(PHP 的内存限制设置为 128MB,代码的内存使用量仅为 3.5MB 左右)或 MySQL 问题(任何 DB 请求之前的代码与与之交互的位一样可能成为瓶颈)数据库)。

因为时间非常重要,所以我需要让响应时间尽可能一致。所以我的问题是:在处理多个同时请求时,我可以做任何简单的调整(对 php.ini 或 Apache)来稳定 PHP 的响应时间吗?

4

1 回答 1

1

在我在服务器方面的经验中,就瓶颈而言,最慢的事情之一(最容易修复)就是您的文件系统和硬盘驱动器。我认为加快这一进程将有助于所有其他领域。因此,您可以升级 httpdocs 和数据库所在的硬盘驱动器。例如,您可以将其放在 SSD 驱动器上。或者甚至制作一个 RAM 磁盘并将所有文件放在上面。

或者,您可以设置数据库,使其脱离内存存储引擎运行。(这里也有相关信息)

当然,你需要大量的物理内存。同样重要的是要注意,如果您获得的网络/应用程序托管是共享的,那么您将在共享内存方面遇到问题。

调优Mysql

调整 Apache

性能调优 PHP

启用Zend Optimizer,或查看APCeAccelerator

以下是IBM提供的一些基本 LAMP调优 技巧

这是一个幻灯片分享,也有一些很好的建议

于 2013-02-15T20:39:14.730 回答