How many concurrent users can the web application built into Meteor.js create?

We are creating a web application that will be used during the contest to vote for participants and display real-time voting statistics on the central display.

The competition will last 15 minutes, and about 4,000 users will connect to the web application at this time and send votes, which, however, are unique to each user device.

We are thinking of developing such a web application using Meteor.js. However, due to our small experience in developing services for such a large number of concurrent users and the beta state of Meteor.js, we have some doubts about the real feasibility of the project.

Below are the questions we are considering:

  • Is there any benchmark on how many concurrent Meteor users can handle? I suppose it depends on the complexity of the web application itself. In our case, this will be fairly straightforward, only the client used for the central display will be subscribed to the live request Mongo votes.find({}) , other users will only see the vote / already voted button.

Having some data from a real case or test case helped us a lot.

  1. Will the Meteor infrastructure handle 4,000 users? Or should we go for some other hosting solution mentioned in this remote question (you need 10k + rep to see it)?

  2. Are there any performance considerations specific to Meteor.js we should know?

We have already seen similar entries, but none of them have had so many users in such a short time:

In addition, we could use the Cluster smart package . Does anyone have any experience?

+43
javascript meteor scalability
Aug 6 '13 at 15:03
source share
3 answers

UPDATE ClassCraft reports that one Meteor server handles 6400 concurrent users. Read more in the Scalability section of my Why Meteor article.

See also forum post
How many concurrent users support the largest ongoing support for the Meteor App?




Here is an example not only about concurrent users, but also about setting up a subscription (possibly a more stress test).

Arunoda recently published test results using meteor-down (a load testing tool similar to @alanning meteor-load-test ) and Cluster , Meteor's load balancing tool.

The test was conducted on the cheapest Digital Ocean servers (512 MB RAM, $ 5 per month), and the results were very impressive:

enter image description here

For all of the above scenarios, the server response time is less than 8 ms.

Essentially, one commodity machine can process 2,500 Meteor subscribers per minute and respond within 8 milliseconds. Horizontal scaling takes less than 5%.

You can learn more about the Meteor Cluster Performance Test: impressive results .

+35
Feb 22 '15 at 1:17
source share
β€” -

https://github.com/alanning/meteor-load-test

If you quickly come up with an application, just install a test on 4000 connections in a 15-minute period. I have not used it personally, but I plan to do it as soon as I finish my own application.

+11
Aug 6 '13 at 15:16
source share

I believe that the honest answer is that each case is different, and there are no hard and fast rules that people can give you in terms of how your system will work under different loads.

It is best to create a simple prototype of your system using one or two functions, and then try to do some performance testing using several simultaneous users to determine what are the limitations. This should give you a good basis for reusing your prototype and development if / how you can support the number of users you need.

+4
Aug 6 '13 at 15:07
source share



All Articles