Memcached正在放缓在VirtualBox网站

我注意到我们的Web项目(Drupal)在虚拟框中使用memcached时运行速度较慢。 如果没有使用memcached,页面加载时间会更快。 我没有注意到任何不自然的memcached行为。

虚拟的盒子是(使用stream浪汉):

  • Debian挤压607
  • 1个CPU核心(ICH主板驱动程序)
  • 4G内存
  • SSD驱动器(ICH驱动程序)

Drupal的具体设置是:

$conf['cache_backends'][] = 'sites/all/modules/contrib/memcache/memcache.inc'; $conf['cache_class_cache_form'] = 'DrupalDatabaseCache'; $conf['cache_default_class'] = 'MemCacheDrupal'; $conf['memcache_key_prefix'] = 'oursite_'; 

只是为了将其与本机(非虚拟化)环境进行比较 – 在​​同一个项目上,memcached提高了10-20%的性能。

任何想法? 有什么地方可以继续调查吗?

你所看到的就是我所期望的。 人们告诉你VirtualBox“提供了与真实硬件相同的性能”,或者他们从来没有在VirtualBox和底层操作系统上运行任何真正的压力负载。
当然VirtualBox的性能和物理硬件一样(甚至可能略胜一筹),但这不是其中之一。

VirtualBox是一个2型pipe理程序 。
您在VirtualBox中执行的每个操作都必须打到仿真的硬件,并传递到系统底层的Real操作系统,以便实际处理请求。
有了额外的开销,我期望一个内存密集型程序(如memcache)在仿真中抓取。


在这种情况下,我真的没有任何改善virtualbox性能的build议。
您可以摆弄设置,将虚拟机内存分配给您的虚拟机实例,并告诉您的主机操作系统确定虚拟机进程的优先级,并且永远不会将其交换出去,但这些都不是最理想的。

我的build议是在你的virtualbox实例上closuresmemcache,除非你专门testing与memcache相关的function。
或者切换到1类虚拟机pipe理程序(VMWare,Hyper-V)或生产质量2类虚拟机pipe理程序(KVM)。 你可能会看到那些更贴近你在物理硬件上看到的性能。