我有一个中等功率的 VPS(四核 Xeon、3GB 内存、ssd),运行 Ubuntu 12.10、PHP 5.5.8,并且启用了 Opcode 缓存。
我正在使用 memcached、opcode cache 和 mod_pageSpeed。
我正在使用 New Relic 监控该应用程序。
问题是,无论我尝试什么,增加内存限制、缓存大小等,我都无法将请求响应时间降至 80 毫秒以下。
数据库运行 Percona,每个请求大约花费 40ms,PHP 每个请求大约花费 40ms。
所有请求均由 OpCode 编译的缓存提供,因此我不明白所有延迟来自哪里。
我错过了什么?
谢谢。如果我遗漏了一些关键信息,请提前致歉,所有信息均可应要求提供。
答案1
操作码缓存不会“编译、执行并缓存结果”。在第一次请求时,您的 PHP 代码会被编译为字节码,然后保存该字节码并执行。在后续请求中,将执行保存的字节码。如果没有操作码缓存,PHP 代码将在每次请求期间被编译为字节码。
如果您想要缓存程序生成的输出并提供它而不是在每次请求时执行程序,那么您需要研究其他缓存技术。