我刚刚开始使用带有 2Go RAM 的memcached
设备。VPS
我将缓存大小设置为 512 Mb,但我想知道是否可以设置为 1024Mb。
上面VPS
有:
- 一个本地商业网站,连接数很少(每天最多只有 10 个会话,只有匿名用户),偶尔网站管理员会更新内容。
- 奖项网站处于非活跃状态(可能将迁移至其他地方);
- 一些开发网站只有我一个人使用。
- 希望我稍后可以添加另一个本地商业网站(也许会删除一些开发网站)。
在激活 4 个站点(1 个为匿名用户,3 个为经过身份验证的用户)时观察 top 命令,我注意到内存使用量上升到 700Mb,因此最多有 1.3Gb 可用。我使用 Apache。
目前每页的加载时间在 2 到 3 秒之间,但对于使用较少的网站,第一页可能需要 5-8 秒。我们的想法可能是增加缓存以获得更多索引路径和页面。
但我读了一些关于交换风险的文章。所以我想知道,为了优化 2 个本地商业网站 + 可能 1 个沙盒和 1 个开发网站的页面加载,最佳选择是什么。
答案1
您很可能只需要 32mb 这样较小的空间......
只有非常繁忙的应用程序才会使用存储多样性数据可能能够利用更多的内存......
如果您的应用程序很忙,如果多样性很高,memcached 项目将很快过期。Memcache 内存分为多个 slab(部分)。每个 slab/部分获得您分配给它的总内存的 N 倍内存量。特定大小特定大小范围的数据键值对始终存储在接受该大小范围内项目的 slab/部分中。话虽如此,您需要存储特定大小的大量数据才能比密钥通常过期更快地填满 slab/部分,这让您有理由增加 memcached 内存限制。
要详细了解你的 memcache 的使用方式,你可能需要检查 http://dev.mysql.com/doc/mysql-ha-scalability/en/ha-memcached-stats-slabs.html
memcache 的理想设置是,在“驱逐”数量可接受的情况下(从缓存中删除记录以腾出空间容纳新记录),您可以获得尽可能小的值。这可以从一些图表/趋势中很好地读取,也可以手动检查;有关更多信息,请查看 http://dev.mysql.com/doc/mysql-ha-scalability/en/ha-memcached-stats-items.html
如果您的应用程序是用 PHP 编写的,并且您想要更好的性能;您可能需要考虑使用一些 PHP 操作码缓存器,如 APC、OPcache 或 Xcache,具体取决于您的 PHP 版本。