Hi all,

Thanks a lot guys for all the help.

Thanks
y1rm3y4hu



On Feb 8, 12:23 pm, dormando <[email protected]> wrote:
> s/leaks/leads to
>
>
>
>
>
>
>
> On Mon, 7 Feb 2011, dormando wrote:
> > Well you were saying speed is the point, but RAM is there as well.
>
> > If you properly tune the TCP stack the memory usage isn't bad at all. I've
> > ran a number of hosts with 100,000+ tcp connections on them at once and
> > while RAM gets sorta heavy it doesn't implode or anything. I say things
> > based on practical experience running huge shit; memcached was designed
> > and has been further tuned to run with 10,000+ connections just fine.
>
> > UDP still uses buffers, but the requests disappear when you overflow,
> > which leaks to the memcache client needing to wait on a timeout to ensure
> > its response is really gone. In TCP land (ignoring the first SYN/ACK
> > sequence) it can drop and retry packets with a relatively short timeout.
> > Meaning you get the answer back and things work fine.
>
> > There *are* some cases where UDP can be useful, but we would absolutely
> > never recommend anyone do that unless they have to. The point is sort of
> > moot since most people use data too large for memcached to handle. Those
> > who've wanted UDP to handle larger packets end up reimplementing TCP on
> > top of UDP to make it work.
>
> > So, we've opted to not do that.
>
> > On Tue, 8 Feb 2011, Roberto Spadim wrote:
>
> > > not about faster or not, the point of udp is the ram used to allow tcp
> > > connection alive, udp don't need ram to allow connections (just server
> > > side, or when send/receive package), it's connectionless... (you know,
> > > i know, everyone that use it know)
> > > with many clients (more than 10000) udp for my benchmarks works better
> > > than tcp (read more before above)
> > > i know about limitations of udp protocol and lower layers (packet
> > > fragmentation and others problems), it's good for some type of values
> > > (data size) and network layout (internet / intranet)
> > > for example in a local network it's very good, for a internet with
> > > many routers a tcp connection is better, the point is, what type of
> > > value is being stored, and what's the network layout? a big value
> > > (more than 1kbyte) or a small? if all values are small, udp works very
> > > well on local network, i use it without bugs... with jumbo frame you
> > > can get more than 1kbyte without data loss with udp
>
> > > speed isn't the point, the data size the network layout and the cache
> > > hit rate is the point, with broken packet we have no communication =]
>
> > > 2011/2/8 dormando <[email protected]>:
> > > > Hi,
>
> > > > I don't want to be rude but can you perhaps stop advocating using UDP?
> > > > It's not actually faster if using persistent connections and is full of
> > > > bugs and limitations (like a max packet size of 1.4k).
>
> > > > Uhm. Actually in general your information is a little off from how we
> > > > usually go about things; perhaps you could read some of the history or 
> > > > pad
> > > > through the wiki a bit? I much enjoy your enthusiasm but there're good
> > > > reasons why we recommend a list of other things for people to try first.
>
> > > > ie; striping/replicating data halves your effective cache size and can
> > > > introduce bugs. General you benefit more from performance by using more
> > > > RAM.
>
> > > > "UDP is faster than TCP" is ... mild failure as general knowledge. It's
> > > > more complicated than that :( I'm glad more online games are moving away
> > > > from UDP and toward TCP connections, as NAT'ing UDP is buggy and
> > > > slaughtering slow connections with extra traffic wastes bandwidth for
> > > > everyone involved.
>
> > > > On Tue, 8 Feb 2011, Roberto Spadim wrote:
>
> > > >> 1) some libraries implement hash to stripe informations (like raid0 do
> > > >> with disks), you should use deterministic hash function (always set
> > > >> the key, to the same server)
> > > >> 2) failover should be a mirror flag (like raid1 with disks), it should
> > > >> write to all servers that variable (write on all servers = write and
> > > >> wait all servers to talk: that's ok), in case of a server problem, all
> > > >> servers have the same information (you can use repcache, a memcache
> > > >> similar server, with same memcache protocol and based on memcache, but
> > > >> with replication feature, in this case replication is done in server,
> > > >> not in client, check if it's a good sync time for you, and if it's a
> > > >> network problem or not)
> > > >> 3) no, you can use UDP in a good network, it's faster (don't need
> > > >> connection) and don't have a lot of latency (TCP can have latency, but
> > > >> some options can reduce it) persistent connection remove the
> > > >> connection time, but it's make another problem... the TCP list get
> > > >> bigger, maybe you TCP list can overflow the operational system TCP
> > > >> list, and some connections must be closed... UDP don't have this
> > > >> problem, it's connectionless =)
>
> > > >> 2011/2/8 y1rm3y4hu <[email protected]>:
> > > >> > Hi,
>
> > > >> > I've been trying to find resources online to address a few questions 
> > > >> > i
> > > >> > had regarding the various configuration options available with
> > > >> > Memcached client/server without much success.
>
> > > >> > Heres how my setup would look like
> > > >> > i'd have two web servers [amazon EC2 instances] load balancing
> > > >> > incoming requests in a round robin fashion - each of these web 
> > > >> > servers
> > > >> > would have memcached[client and server] installed in it
>
> > > >> > Now it would be great if somebody could give me pointers on the below
> > > >> > questions.
>
> > > >> > #1) Should i use consistent hashing.
> > > >> > I am not expecting instances to go down randomly. But whenever one
> > > >> > machine has to be taken out for maintenance etc, would like to
> > > >> > minimize the impact. i read about a reduced performance when switched
> > > >> > to consistent hashing. Not sure whether it is still valid.
>
> > > >> > #2 ) If we are using standard vs consistent hashing how would 
> > > >> > failover
> > > >> > work?
> > > >> > I see that pecl/memcache has a failover flag but can't find anything
> > > >> > similar to it in pecl/memcached. What are the implications.
>
> > > >> > #3) Should i always go with persistent connections?
>
> > > >> > Any help/links/pointers would be highly appreciated :)
>
> > > >> > Have a good day
> > > >> > y1rm3y4hu
>
> > > >> --
> > > >> Roberto Spadim
> > > >> Spadim Technology / SPAEmpresarial
>
> > > --
> > > Roberto Spadim
> > > Spadim Technology / SPAEmpresarial

Reply via email to