我正在使用 Merb::Cache 来存储 txt/xml,并注意到我让我的 merb 运行的时间越长,我打开的打开 tcp 套接字的数量就越大——我相信这会导致一些主要的性能问题。
lsof | grep 11211 | wc -l 494
merb 27206 root 71u IPv4 13759908 TCP localhost.localdomain:59756->localhost.localdomain:11211(已建立) merb 27206 root 72u IPv4 13759969 TCP localhost.localdomain:59779->localhost.localdomain:11211(已建立) merb 27206 root 73u IPv4 13760039 TCP localhost.localdomain:59805->localhost.localdomain:11211(已建立) merb 27206 根 74u IPv4 13760052 TCP localhost.localdomain:59810->localhost.localdomain:11211(已建立) merb 27206 根 75u IPv4 13760135 TCP localhost.localdomain:59841->localhost.localdomain:11211(已建立) merb 27206 根 76u IPv4 13760823 TCP localhost.localdomain:59866->localhost.localdomain:11211(已建立) merb 27206 根 77u IPv4 13760951 TCP localhost.localdomain:52095->localhost.localdomain:11211(已建立)
ETC...
我的相关代码是:
如果 !exists?(:memcached) 那么 register(:memcached, Merb::Cache::MemcachedStore, :namespace => 'mynamespace', :servers => ['127.0.0.1:11211']) 结尾
&&
什么时候:xml 除非@hand_xml = Merb::Cache[:memcached].read("/hands/#{@hand.id}.xml") @hand_xml = 显示(@hand) Merb::Cache[:memcached].write("/hands/#{@hand.id}.xml", @hand_xml) 结尾 返回@hand_xml
这段代码是直接错误的还是我使用了错误版本的内存缓存?
我有 memcached 1.2.8 并具有以下内容:
libmemcached-0.25.14.tar.gz memcached-0.13.gem
这有点让我发疯..