0

我正在使用 memcache 池(5 个服务器)和一些处理节点开发一个应用程序。我有两种不同的可能方法,我想知道你们是否对基于两者之间的性能(主要是速度)的比较有任何意见

  1. 我每次请求都会从 memcache 中提取一大块数据,对其进行迭代并丢弃特定请求不需要的位

  2. 我从 memcached 中提取小部分,只提取我需要的部分。即我提取a的值并根据a的值提取b或c的值。使用此组合查找我要提取的下一个键。

两者的区别在于,memcached 查找(即服务器池)的数量减少了 1。但响应的大小增加了。有人以前见过围绕它的任何基准测试报告吗?

不幸的是,我不能直接根据请求使用更好的键,因为我没有足够的内存缓存来支持所有可能的值组合,所以我必须在运行时构建其中的一些

谢谢

4

1 回答 1

0

您必须为自己的设置进行基准测试。重要的部分是花费在以下方面的时间:

  • 从memcache请求大量数据+检索它+从resonse中提取数据
  • 向内存缓存发送多个请求 + 检索数据

基本上,您必须衡量的第一件事是与缓存池交互的开销有多大。当负载增加时,整个事情将如何反应是一件小事。现在可能很快的事情,当用户开始涌入时,可能会成为一个可怕的决定。

这有点取决于您对“大块”的定义。我们在这里谈论的是兆字节还是有 100 个键的数组?您还必须考虑,php 仍然需要处理该信息。

此时您可以做两件事:

  1. 仔细看看你是如何存储信息的。也许您可以将其缩减为两个小请求。一个用于检索条件的特定数据,另一个用于获取条件信息。

  2. 为您的服务器设置您自己的基准测试。网络上的一些随机文章与您的系统架构无关。

我知道这不是你想听到的答案,但那是我的两分钱.. 给你。

于 2012-05-15T09:09:02.720 回答