Beanstalkd如何管理内存?

时间:2014-04-28 11:57:54

标签: php macos beanstalkd

我们刚开始在制作中使用beanstalkd,并对其效果印象深刻。

我注意到它的内存管理特有的东西。例如,我在PHP中创建100k个作业,1111.013122,1212.121311作为每个作业中的数据。 beanstalkd进程的内存使用量从大约18MB开始上升到300KB。几分钟后,内存下降到大约1.5MB,仍有相同数量的作业。

Beanstalkd 以持久模式运行。

我在Mac上,虽然我们的服务器运行的是Ubuntu 12.04。我在Mac上观察到了这一点 - 尚未在我们的服务器上试过它。

这是因为Mac或Beanstalkd上的内存压缩还是Beanstalkd写入文件?这将有助于我们规划队列服务器的内存需求。

1 个答案:

答案 0 :(得分:1)

beanstalkd是一个内存中队列,它仅使用外部文件进行错误恢复(它可以将检查点作业发送到binlog,以便在发生崩溃时进行恢复)。因此,如果作业尚未删除,它们仍然存在于内存中。

您如何测量内存使用情况? beanstalkd进程的虚拟大小是否也缩小了?内容是否已被分页到磁盘,因此不再显示为常驻? (或在“使用的物理内存”下?)