Ich verwende Merb :: Cache zum Speichern von txt/xml und habe bemerkt, dass je länger ich meine Merbs verlasse, desto größer die Menge offener tcp-Sockets ist, die ich geöffnet habe - ich glaube, das verursacht einige große Performance-Probleme.Sind Hunderte/Tausende von TCP Sockets mit Memcached sinnvoll?
lsof | grep 11211 | wc -l 494
merb 27206 root 71u IPv4 13759908 TCP localhost.localdomain:59756->localhost.localdomain:11211 (ESTABLISHED) merb 27206 root 72u IPv4 13759969 TCP localhost.localdomain:59779->localhost.localdomain:11211 (ESTABLISHED) merb 27206 root 73u IPv4 13760039 TCP localhost.localdomain:59805->localhost.localdomain:11211 (ESTABLISHED) merb 27206 root 74u IPv4 13760052 TCP localhost.localdomain:59810->localhost.localdomain:11211 (ESTABLISHED) merb 27206 root 75u IPv4 13760135 TCP localhost.localdomain:59841->localhost.localdomain:11211 (ESTABLISHED) merb 27206 root 76u IPv4 13760823 TCP localhost.localdomain:59866->localhost.localdomain:11211 (ESTABLISHED) merb 27206 root 77u IPv4 13760951 TCP localhost.localdomain:52095->localhost.localdomain:11211 (ESTABLISHED)
etc ...
mein entsprechenden Code ist:
if !exists?(:memcached) then register(:memcached, Merb::Cache::MemcachedStore, :namespace => 'mynamespace', :servers => ['127.0.0.1:11211']) end
& &
when :xml unless @hand_xml = Merb::Cache[:memcached].read("/hands/#{@hand.id}.xml") @hand_xml = display(@hand) Merb::Cache[:memcached].write("/hands/#{@hand.id}.xml", @hand_xml) end return @hand_xml
ist dieser Code direkt aus falsch oder verwende ich t Die falsche Version von Memcache?
Ich habe Memcached 1.2.8 und haben folgende Möglichkeiten:
libmemcached-0.25.14.tar.gz Memcached-0.13.gem
diese Art der ist mir wahnsinnig ..
ich verdammt sicher bin, dass die Antwort auf diese Frage eine große Fett auf, da es keine harten Grenzen sind die Anzahl der Sockets, die Sie haben können – eyberg