Hello! On Thu, Dec 19, 2013 at 1:18 AM, Aaron Lewis wrote: > 我打算用 shared.dict 存储心跳信息, key是主机名,长度最大 255,value 是 os.time() > > 那么,10M 大概能同时存储多少心跳包? > 不一定。这取决于你当前的体系结构是 32 位的还是 64 位的。 最简单的做法是你自己写一个 Lua 循环,然后通过 safe_set() 方法不断地向你分配的 10MB 的字典里面写数据,一直写到返回错误。与此同时你统计实际写入的个数。 在 ngx_lua 的测试集中有一个类似的测试用例,你可以参考一下: https://github.com/chaoslawful/lua-nginx-module/blob/master/t/043-shdict.t#L1383 值得一提的是,不要使用 os.time() 来获取时间,因为它可能会涉及代价高昂的系统调用。你应当使用 ngx_lua 的 ngx.time() API 函数: https://github.com/chaoslawful/lua-nginx-module#ngxtime Regards, -agentzh