Concurrent users

188 views
Skip to first unread message

Phillip Senn

unread,
Feb 2, 2015, 2:47:59 PM2/2/15
to lu...@googlegroups.com
I'm trying to convince a potential client to go with a Railo solution (have been talking with him for months).
His latest question has to do with scale: can it handle 10,000 users at once?

Are there any metrics on ColdFusion, vs. Railo vs. Lucee regarding a heavy load?


Brad Wood

unread,
Feb 2, 2015, 2:53:13 PM2/2/15
to lu...@googlegroups.com
Generally speaking, all the CFML engines scale as good as Java, and the JVM is one of the best platforms for scalability that there is.  For instance, Twitter switched from ROR to Java and heavily reduced the number of servers they needed. Surely you're not expecting to have 10k concurrent users on a single Lucee instance, of course.

To be honest though, using Lucee is the easy decision.  The real question is how you have architected your application, your database, your shared resources/locking schemes, your session storage, etc, etc, etc.  Will THEY handle 10,000 users?  That's up to you.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 


--
You received this message because you are subscribed to the Google Groups "Lucee" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lucee+un...@googlegroups.com.
To post to this group, send email to lu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lucee/1dcf4e6e-d530-4a4a-9d5a-12d188c76732%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Phillip Senn

unread,
Feb 2, 2015, 3:00:26 PM2/2/15
to lu...@googlegroups.com
Right.
He's a database developer, so he's pretty confident he can handle any database bottleneck.
I just know he won't be convinced until I show him a simulation of 10k users hitting his MS SQL Server from my Railo server.

Everyone's talking about cloud computing: Is it possible to spin up something akin to an Amazon EC2 instance and simulate 10,000 users just to see what the average response time is?

And this is a generic selling point.  I think everyone would like to know how their server would handle getting slash dotted or mentioned on a national talk show.



--
You received this message because you are subscribed to a topic in the Google Groups "Lucee" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/lucee/_yLI3Yumq04/unsubscribe.
To unsubscribe from this group and all its topics, send an email to lucee+un...@googlegroups.com.

To post to this group, send email to lu...@googlegroups.com.

Mark Drew

unread,
Feb 2, 2015, 3:01:52 PM2/2/15
to lu...@googlegroups.com

Brad Wood

unread,
Feb 2, 2015, 3:11:42 PM2/2/15
to lu...@googlegroups.com
Apparently Mark thinks it should be 11k users :)  Heck, if he just wants to see a 10k user parlor trick, I'm sure that wouldn't be too hard.  I can shove around 200 simple requests per second through my local development machine.  Depending on how "active" these users are you'd just need to be aware of the max number of threads you can take.  I don't think Railo/Lucee has any limit (like Adobe CF has) so it usually falls back on your servlet container, web connectors, or web server-- whichever has the smallest bottleneck.  So if each users clicks a page every 30 seconds, that's like 300-400 req/s if I'm dividing right.  Throw a few EC2 instances up behind a round robin.  The biggest issue might be getting enough JMeter instances to produce that kind of traffic without totally bogging down your JMeter test machine.

Some others here might have good advice on the easiest way to get some cloud servers set up.  I'm more familiar with in-house virtualized environments so I'm not as experienced with EC2, etc.

Thanks!

~Brad

ColdBox Platform Evangelist
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 


Jean Moniatte

unread,
Feb 2, 2015, 3:14:32 PM2/2/15
to lu...@googlegroups.com

Maybe give jmeter a try?

Merci,
Jean
----
Jean Moniatte
UGAL
http://fr.ugal.com
----

Michael Sprague

unread,
Feb 2, 2015, 4:20:10 PM2/2/15
to lu...@googlegroups.com
Not sure if this will fit your needs but could be worth a look; cloud-based load testing with 10,000 clients per test on the free plan. 


I have nothing to do with the product/company but have used it on a Railo (now Lucee) Heroku app in the past.

Mike

Kai Koenig

unread,
Feb 2, 2015, 4:33:02 PM2/2/15
to lu...@googlegroups.com

> Generally speaking, all the CFML engines scale as good as Java, and the JVM is one of the best platforms for scalability that there is. For instance, Twitter switched from ROR to Java and heavily reduced the number of servers they needed. Surely you're not expecting to have 10k concurrent users on a single Lucee instance, of course.

I’d disagree with the first part of your statement a little bit. CFML engines do create a certain amount of overhead over Java and therefore don’t scale directly like a native, well written Java app would. Some CFML engines are better (more lightweight) written than others and I can’t remember any use case in which ACF outperformed Railo/Lucee for me.

Cheers
Kai

Tom King

unread,
Feb 2, 2015, 4:34:54 PM2/2/15
to lu...@googlegroups.com
Things like loader.io / loadimpact do the simulation from a large bank of machine. Costs a *fortune* to do a load test that large. Free for 1 minute though.
There's a certain intelligence in knowing what type of traffic is going to hit your app; 
If it's 10,000 requests hitting a page you can cache/reverse proxy etc, and you've got sessions turned off by default, then sure, do-able with simple scaling and a load balancer. That's probably not as bad as 10,000 actual concurrent *logged in* users generating all sorts of stuff.

As a giggle I threw a few hundred requests a second for a minute at railo with loader.io on a very low powered box the other day, with each user doing several requests which required encryption + etc: stuff which takes 300 - 1000ms; the problem I hit in that circumstance was that I was storing sessions in a DB (it was on AWS): the problem was *not* the bottleneck between app server -> mysql, it was the sudden increase in concurrent requests which were all using a session, which , in turn, used up all the EC2 instance memory before it could auto-scale up and add more resources. Railo takes a few seconds (10 I think?) after session creation to offload the session to the db, therefore, memory is still used. The point is, traffic doesn't really work like load testing systems default to - you need, like jmeter can do, to scale up the traffic in a way which reflects real life. In real life, my EB environment would have detected the high CPU + memory for over a minute and added a machine or 4.

Really, I'd be absolutely fascinated to hear from the Mars dudes:

4 Million concurrent sessions?
* throws toys out of pram*.

T

Mark Drew

unread,
Feb 2, 2015, 4:37:45 PM2/2/15
to lu...@googlegroups.com
That looks like a very neat product. 

Mark Drew

Kai Koenig

unread,
Feb 2, 2015, 4:39:24 PM2/2/15
to lu...@googlegroups.com
If you want to know how well your application/server/infrastructure is performing, the only way is to properly load test.

Some questions that come to mind: 

10000 users doing WHAT?
What’s the connection to a DB instance like?
What’s the average time between clicks?

Is your question even relevant the way you ask it?

Cheers
Kai


Reply all
Reply to author
Forward
0 new messages