如何进行缓存的容量规划 - 例如为ehCache,memcache或dynacache分配多少RAM? 是否有行业标准公式?
例如我在数据库中有大约60,000条记录。这是公司数据 - 包含公司名称,描述和公司代码。我想使用jQuery实现一个类型化的功能,并希望将此公司名称详细信息存储在缓存中。
什么是理想的缓存大小?我知道缓存大小仅限于可用的可用内存量,但有兴趣了解具体方法吗?或者是一个试验和错误,你从一些尺寸和测试开始,绘制图表并继续调整缓存大小。
更新
公司ID - CHAR(9)
公司名称 - VARCHAR2(250 CHAR)
公司描述 - NVARCHAR2(1000 CHAR)
答案 0 :(得分:39)
1)如果您有专用的缓存服务器,那么您不必担心必须使用多少内存空间。您可以使用可用的最大可用内存量(或接近)并让它发挥其魔力。
2)如果缓存服务器与您的Web服务器相同,那么您必须指定允许memcached(dynacache或其他)使用多少。对于我的观点,实际上没有理想的缓存大小。这一切都取决于你的服务器有多少内存,你需要多少数据放入缓存等等。只要你的内存在缓存和Web服务器之间正确平衡,你就是好的。
在这种情况下,您需要在缓存中存储少于100 MB的数据。根据您的服务器的数量,它非常小,但您总是需要考虑数据增长的程度,还需要添加其他数据(如客户端,产品等......)。因此,如果你放的少于你需要的,你将不得不停止服务,增加允许的内存值,启动服务。
如果您的服务器处理大量需要大量内存的信息,那么您将需要计算这些进程需要多少内存和资源。
快速举例:
在此示例中,剩余1G内存(大约)。由于您的系统足够,因此不建议剩余总金额。我会说使用384Mb或更少的缓存将是一个良好的开端。您允许缓存增长,并且不会影响系统内存。
我建议您监控服务器,以确保系统内存分配和缓存平衡完美。
这是一篇关于它的好文章:http://techgurulive.com/2009/07/22/how-to-allocate-memory-within-memcached/