【发布时间】:2009-10-30 03:18:41
【问题描述】:
我有一个 PHP 脚本,它充当我的后端数据库的 JSON API。
意思是,你向它发送一个 HTTP 请求,例如:http://example.com/json/?a=1&b=2&c=3... 它会返回一个 json 对象,其中包含我数据库中的结果集。
PHP 非常适合这个,因为它实际上只有大约 10 行代码。
但我也知道 PHP 很慢,而且这是一个有时每秒被调用 40 次的 API,而 PHP 正在努力跟上。
有没有办法可以将我的 PHP 脚本编译成更快的执行格式?我已经在使用 PHP-APC,它是 PHP 和 FastCGI 的字节码优化。
或者,有没有人推荐一种我重写脚本的语言,以便 Apache 仍然可以处理 example.com/json/ 请求?
谢谢
更新:我刚刚运行了一些基准测试:
- PHP 脚本需要 0.6 秒 完成
- 如果我使用从上面的 PHP 脚本生成的 SQL 并从同一个 Web 服务器但直接从 MySQL 命令中运行查询,这意味着网络延迟仍在发挥作用 - 获取的结果集只需 0.09 秒即可完成.
如您所见,PHP 在生成结果方面确实慢了 1 个数量级。在这种情况下,网络似乎不是主要瓶颈,尽管我同意它通常是根本原因。
【问题讨论】:
-
您能否提供您正在运行的代码行(如果只有 10 行)?
-
因为它只有 10 行 PHP,我也有兴趣看到它。我很难相信运行 10 行 php 需要 0.6 秒。我猜 Web 服务器配置可能是问题所在,但如果不了解您的基础架构/源的更多信息,就很难说。
标签: php optimization compilation fastcgi