使用 PHP/Apache 缓存操作码的最简单方法是什么?
我正在考虑使用操作码缓存来提高性能,
使用 PHP/Apache 进行操作码缓存的最简单方法是什么? 性能有何改进?
我已经阅读过有关 xDebug 的内容,但我想知道是否还有更多选项?
I was thinking to use opcode caching for performance profit
what is the easiest way for opcode caching with PHP/Apache ?
and what are the performance improvements ?
I have read about xDebug but I was wondering if there are more options ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我使用 APC 扩展 作为我的个人服务器和我们的服务器上的操作码缓存在工作中使用——而且我几乎从未遇到过任何麻烦。
安装非常简单:根据您的 Linux 发行版,您可能想要使用类似的东西:
但您不一定拥有最后的稳定版本...而且我通常更喜欢使用:
这将从 PECL 获取最后的版本并编译它(注意:您可能需要安装一个名为
php5-dev
的软件包)。然后你必须配置它;有关可以配置的指令,请参阅运行时配置。
性能改进可能会因您的服务器/应用程序而异,但是,在仅提供 PHP 页面的服务器上(即,如果您的数据库位于另一台计算机上),您可能会看到 CPU 负载下降,这是非常重要的(我曾经见过服务器上的 CPU 负载从 80% 上升到 40-50%)
Xdebug 与操作码缓存和性能无关:正如其名称所示,它对于调试很有用。
Xdebug 不应该安装在生产服务器上:当涉及到性能时,它可能会很痛苦——我想这是因为它“挂钩”到 PHP 中并添加了很多东西,比如记录许多对调试有用的信息;这意味着需要进行更多计算——这需要时间和 CPU。
I use the APC extension as an opcode cache on both my personnal server, and on the servers we are using at work -- and I've almost never run into any kind of trouble with it.
Installation is pretty easy : depending on your Linux distribution, you might want to use something like :
But you'd not necessarily have the last stable version... And I generally prefer using :
Which will fetch the last version from PECL and compile it (Note : you'll probably need to installed a package called
php5-dev
).You'll then have to configure it ; see Runtime Configuration for the directives you can configure.
The performance improvements can vary depending on your server/application, but, on a server that only serves PHP pages (i.e. if your DB is on another machine) you might see a drop in CPU load that's quite important (I've seen CPU load go from 80% to 40-50% on a server, once)
Xdebug is not related to opcode caching nor performance : as its name indicates, it's useful for debugging.
And Xdebug should not be installed on a production server : it can be a pain, when it comes to performances -- I suppose it's because it "hooks" into PHP and add lots of stuff, like logging many informations useful for debugging ; which means more calculations to do -- which takes time and CPU.
尝试 APC :一直在 Mediawiki 中使用它并且结果是显着的。
Try APC : been using it with Mediawiki and the results are significant.
其他流行的选项是 eAccelerator 和 APC。
性能改进将取决于您正在缓存的网络应用程序。 以下是使用 APC 和 eAccelerator 的 Drupal CMS 的一些基准 和 这是同一网站上有关安装 APC 的教程(又好又简单)。
Other popular options are eAccelerator and APC.
Performance improvements will depend on the web app you're caching. Here are some benchmarks for the Drupal CMS using APC and eAccelerator, and here's the same site's tutorial on installing APC (nice and easy).
在 Debian/Ubuntu 上,尝试:
商业解决方案来自 Zend,http://www.zend.com
On Debian/Ubuntu, try:
A commercial solution is from Zend, http://www.zend.com