我要在我的服务器上安装APC来增强Drupal的性能,但是我在网上看到,如果我的内存很小,这可能是一个风险,性能可能会变差。
我有256MB内存,所以我想知道安装APC是否合理,我应该分配多less内存。
PS。 我正在运行lighttpd作为Web服务器
谢谢
从http://www.php.net/manual/en/apc.configuration.php
… apc.php脚本…caching完整计数(左侧)将显示caching达到最大容量的次数,并且不得不强制清除最后一次apc中未被访问的条目.ttl秒。 这个数字在一个configuration良好的caching中被最小化。 如果caching不断被填充,并因此被强制释放,则由此产生的搅动将会对脚本性能产生贬义的影响。 最小化这个数字的最简单的方法是为APC分配更多的内存。 除此之外,apc.filters应该被用来caching更less的脚本。
当处理mesure问题时,测量工具和定量方法(询问你的“多less”)比“尝试和失败”更好,所以你可以投入一些时间find一个合理的工具来确定问题,说
free -mot
和一个testing环境,说你的发行版在VirtualBox实例中快照以记住明智的configuration,而不是监视不同configuration的testing下的内存使用情况。
ab -n 500 -c 30 http://example.com/mytestapp/myheavyloadaction
testing是没有意义的,如果你尝试在PHP中的静态HTML页面或helloword,你需要testing真正的应用程序/ s和可能修改应用程序本身logging它花费时间doig什么。
无论如何,我们无法达到每个请求0ms,所以我们应该定义对用户来说“足够快”。 对于我来说,500ms就足够了,知道在模板中下载一个gif将会消耗服务器端的时间。 而且,花费在软件configuration上的实际努力不会,永远不会实现什么是一个幸运的RAM添加。
在我个人的经验与LAMP堆栈,但由于上述原因,我们不能泛化,MySQL的RAM使用是瓶颈,而不是PHP本身(也不是Apache)。
如果并且只有在你绝对不得不使用如此之less的内存的情况下,你不能坚持购买更多(2Gb对我来说是合理的),这可能是更便宜的scheme(善意地坚持放弃开发的经济方面几小时没有真正的好处,为我工作…),知道这个优化将需要使用您的Web框架文件caching(@see drupal.org/project/filecache) memcache或sqlite也值得尝试。