Skip to content

Benchmarks #44

Closed
superfeedr opened this Issue Dec 14, 2010 · 12 comments

7 participants

@superfeedr

This is not technically an issue, but it would be nice to see some kind of benchmakr to see what kind of performance to expect.
For example, how man clients can be connected simultaneously to a Faye server?

@jcoglan
Collaborator
jcoglan commented Dec 14, 2010

Would you be able to contribute something? I'd rather not write benchmarks in the abstract, I'd prefer realistic use cases if possible.

Performance has not been a priority so far, but I am starting to look at ways of scaling Faye so some measurements would be great.

@jcoglan
Collaborator
jcoglan commented Dec 14, 2010

By the way, are you considering using Faye in Superfeedr.com?

@superfeedr

Hey, so I don't know if we'll use Faye, or something else, but yes, we're looking at these technologies for one of our upcoming products.

I understand benchmarks are not a priority, yet, they give a sense of how "usable" this is in production, or at least that you thought about it and didn't just build this as a "game". I will try to play with faye myself to see if I can come up with something interesting.

Cheers,

@jcoglan
Collaborator
jcoglan commented Dec 14, 2010

Maybe worth reading this thread to see where we are right now: http://groups.google.com/group/faye-users/browse_thread/thread/6e46148de20cfdf8

@yankov
yankov commented Aug 12, 2011

Hey, I'm trying to do some benchmarking testing with a single instance of node.js + faye.

1) It seems that if I send messages to fast - they are being lost. Even with the small amount of messages like 10-100. If I do pause between requests - everything is ok.
2) When using Redis engine and sending requests fast, node.js dies with: node_redis: no callback to send error: ERR Operation against a key holding the wrong kind of value.

I tried to use a separate database and namespace - it didn't help.

@jcoglan
Collaborator
jcoglan commented Aug 18, 2011

yankov, I think your first problem should be solved in the just-released version 0.6.4, which includes bf536ad. (See this mailing list thread for background.)

Re: your second issue, if you have example code to demonstrate this please submit it as a new issue.

@boatmeme

I issued a pull request that fixes yankov's problem 2

 2) When using Redis engine and sending requests fast, node.js dies with: node_redis: no callback to send error: ERR      Operation against a key holding the wrong kind of value.

https://github.com/jcoglan/faye/pull/85

@jcoglan
Collaborator
jcoglan commented Aug 29, 2011

The Redis error is now fixed in master. If you still are experiencing your problem with messages being dropped, please submit an example to demonstrate the problem.

@Sabyasachig

how many client a faye server can handle. what is the upper limit

@inspire22

This is an old thread, but I have about 500 clients connected all the time and it does fine. Though I do restart it every day to reset the memory usage.

@brodock
brodock commented Nov 22, 2013

+1 would like to see some official benchmarks covering both nodejs and ruby

@jcoglan jcoglan closed this Nov 25, 2013
@jcoglan
Collaborator
jcoglan commented Nov 25, 2013

I should have closed this a long time ago. I'm not going to produce or publish benchmarks. Out-of-context benchmarks are mostly useless, and when published by the software's author they're also inevitably biased.

If you want to know whether Faye performs acceptably for your use case you should build a prototype and measure whatever performance metrics you care about (throughput, latency, memory usage, CPU load, stability, uptime, etc.) with a traffic load that accurately represents your specific application, on your infrastructure.

Ideally you should also build prototypes with alternative technologies and see which one works best for your needs. To make these sorts of decisions you need to actually build something yourself and deploy it in the context of your problem domain. You can't pick something based on numbers published out of context by two library authors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.