5

我在 Web 服务的生产服务器上使用 PHP APC 很长一段时间以来每天的点击量为 1000 万次。

我正在考虑将更多数据卸载到 APC 本地缓存。

从理论上讲,在我看来,因为 APC 调用主要是本地内存访问。将其称为 10,000 次/秒应该不会成为问题。据我所知,它的限制可能在于内存大小,但只要服务器有可用的 CPU,它就不应该出现高速性能或损坏问题。

是否有任何我不知道的限制可能会阻止我在应用服务器(ubuntu)上以非常高的速率使用 APC 的本地对象缓存。

更新:显然根据下面的答案,我的问题并不清楚。我不是在寻找替代缓存选项(memcache、redis 等)。我的问题是在非常高的速率和读取并发下使用本地 APC 是否有任何顾虑或限制。

4

1 回答 1

4

我个人非常喜欢使用memcached进行这种存储。它有几个优点:

  • 这是一个完全专注于存储的程序,memcached 的开发将始终专注于存储。APC 主要是代码缓存,它恰好提供对用户存储的一些访问。
  • 当您重新加载或重新启动 Apache(或您使用的任何网络服务器)时,APC 的缓存将被清空。当您使用独立解决方案(例如 memcached)时,您可以控制缓存何时清空。这对我来说确实非常重要,因为我有时必须对 Apache 的配置进行更改,并且我真的不想在这样做时清除缓存,因为它会产生很大的 CPU 峰值(再次将数据加载到缓存中) )。
  • 它有可能创建一个分布式缓存,使其更具可扩展性。当您因为网站变大而必须添加第二台服务器时,您不希望有两个缓存相同内容的缓存。memcached 可以很好地扩展,而 APC 的缓存不能。

与 APC 的用户缓存相比,使用 memcached 还有许多其他优点,但对我来说,这是不使用 APC 的用户缓存的三个主要原因。当然,我确实使用 APC,只是不使用用户缓存。

于 2012-04-23T12:45:07.257 回答