meteor-load-test icon indicating copy to clipboard operation
meteor-load-test copied to clipboard

Still maintained, or meteor-down?

Open dandv opened this issue 10 years ago • 12 comments

Just learned about @arunoda's meteor-down and wondering if this package is still maintained.

dandv avatar Feb 21 '15 11:02 dandv

I think it should not be [or]. Meteor Down is another attempt on load testing. I'm sure this project still works, but our one is easy to use :D (I guess)

arunoda avatar Feb 21 '15 13:02 arunoda

Hi Dan, we still use this to load-test our startup's product, Share911 so its still supported in that sense. It currently meets our needs so we aren't planning any extra features.

(MD = Meteor Down, MLT = Meteor Load Test)

A quick summary based on my understanding at the time of writing:

  • I would agree with Arunoda that MD is easier to use
  • Both MD and MLT use DDP to load the target site rather than spinning up VM's (good!)
  • MD let's you define the calls and subscriptions in javascript rather than the JSON-style config that MLT requires
  • MLT supports spinning up workers on different instances and aggregating results whereas I believe with MD all test instances run on the same box.
  • MLT has a few more options re: authentication
  • MLT lets you optionally download the initial payload as well
  • MD has some metrics built-in (method and pub response times) whereas MLT expects you to use your existing metrics (kadira, cloudwatch, etc)
  • MLT has some more options for shaping the load (worker spinup time and such)

@arunoda, please advise if I've misrepresented MD at all.

alanning avatar Feb 21 '15 14:02 alanning

Yes. You are all correct. I need to add one on test scaling.

MD runs on a single server. But it can be converted to a node app with one package.json file.

So with that, we used heroku to scale our load test. We generated around 100000 concurrent clients without spending a dime :) On 2015 පෙබ 21, සෙන at ප.ව. 8.10 Adrian Lanning [email protected] wrote:

Hi Dan, we still use this to load-test our startup's product, Share911 http://about.share911.com/ so its still supported in that sense. It currently meets our needs so we aren't planning any extra features.

(MD = Meteor Down, MLT = Meteor Load Test)

A quick summary based on my understanding at the time of writing:

  • I would agree with Arunoda that MD is easier to use
  • Both MD and MLT use DDP to load the target site rather than spinning up VM's (good!)
  • MD let's you define the calls and subscriptions in javascript rather than the JSON-style config that MLT requires
  • MLT supports spinning up workers on different instances and aggregating results whereas I believe with MD all test instances run on the same box.
  • MLT has a few more options re: authentication
  • MLT lets you optionally download the initial payload as well
  • MD has some metrics built-in (method and pub response times) whereas MLT expects you to use your existing metrics (kadira, cloudwatch, etc)
  • MLT has some more options for shaping the load (worker spinup time and such)

@arunoda https://github.com/arunoda, please advise if I've misrepresented MD at all.

— Reply to this email directly or view it on GitHub https://github.com/alanning/meteor-load-test/issues/11#issuecomment-75374343 .

arunoda avatar Feb 21 '15 16:02 arunoda

I also need to add something on auth. We do have authentication support as well.

We do it by installing a backdoor do the app. And it's activated via an env variable. So, in the load test definition, just specify the userId to authenticate the requests. On 2015 පෙබ 21, සෙන at ප.ව. 10.11 Arunoda Susiripala < [email protected]> wrote:

Yes. You are all correct. I need to add one on test scaling.

MD runs on a single server. But it can be converted to a node app with one package.json file.

So with that, we used heroku to scale our load test. We generated around 100000 concurrent clients without spending a dime :) On 2015 පෙබ 21, සෙන at ප.ව. 8.10 Adrian Lanning [email protected] wrote:

Hi Dan, we still use this to load-test our startup's product, Share911 http://about.share911.com/ so its still supported in that sense. It currently meets our needs so we aren't planning any extra features.

(MD = Meteor Down, MLT = Meteor Load Test)

A quick summary based on my understanding at the time of writing:

  • I would agree with Arunoda that MD is easier to use
  • Both MD and MLT use DDP to load the target site rather than spinning up VM's (good!)
  • MD let's you define the calls and subscriptions in javascript rather than the JSON-style config that MLT requires
  • MLT supports spinning up workers on different instances and aggregating results whereas I believe with MD all test instances run on the same box.
  • MLT has a few more options re: authentication
  • MLT lets you optionally download the initial payload as well
  • MD has some metrics built-in (method and pub response times) whereas MLT expects you to use your existing metrics (kadira, cloudwatch, etc)
  • MLT has some more options for shaping the load (worker spinup time and such)

@arunoda https://github.com/arunoda, please advise if I've misrepresented MD at all.

— Reply to this email directly or view it on GitHub https://github.com/alanning/meteor-load-test/issues/11#issuecomment-75374343 .

arunoda avatar Feb 21 '15 16:02 arunoda

Right, I saw the auth part. I didn't mean to say that MD does not support auth, just that MLT has more options there at this time. MLT performs an actual client login over DDP and supports username and password as well as OAUTH via use of resumeTokens.

This may be something you want to consider adding to MD as well as right now MD doesn't capture the load from clients connecting.

EDIT: By "connecting" in this case I mean the credential validation flow. I know MD captures the load from connected client's subscriptions and method calls.

alanning avatar Feb 21 '15 16:02 alanning

@alanning, @arunoda - thanks for the comparison!

dandv avatar Feb 21 '15 21:02 dandv

Good idea. On 2015 පෙබ 22, ඉරිදා at පෙ.ව. 3.00 Dan Dascalescu [email protected] wrote:

@alanning https://github.com/alanning, @arunoda https://github.com/arunoda - thanks for the comparison!

— Reply to this email directly or view it on GitHub https://github.com/alanning/meteor-load-test/issues/11#issuecomment-75393919 .

arunoda avatar Feb 21 '15 22:02 arunoda

@arunoda Can you describe your process for load testing using Heroku? Did you use it to create loads from multiple IP addresses? meteor-down is great, but we're hitting some limitations re: all of the load from a single IP. Any advice? Thanks for all your work.

darrenangle avatar Jul 21 '15 22:07 darrenangle

Yep. They should get from the same IP. But, that's okay for the testing purpose. Why that's going to be a problem?

On Wed, Jul 22, 2015 at 3:50 AM Darren Angle [email protected] wrote:

@arunoda https://github.com/arunoda Can you describe your process for load testing using Heroku? Did you use it to create loads from multiple IP addresses? meteor-down is great, but we're hitting some limitations re: all of the load from a single IP. Any advice? Thanks for all your work.

— Reply to this email directly or view it on GitHub https://github.com/alanning/meteor-load-test/issues/11#issuecomment-123496512 .

arunoda avatar Jul 22 '15 00:07 arunoda

I'm looking to test the autoscaling features of Modulus with a realistic test, but they send all traffic from the same IP to a single server, even under heavy load.

Makes sense, session redundancy across multiple, auto scaling servers is hard- but it would awesome to distribute the ddp/meteor-specific test with multiple ips to see how Modulus handles load balancing and scaling.

Other load testing solutions I've found can do get requests from all over the globe just fine, but I'd like the meteor-specific insight into the sub and method performance that meteor-down provides.

On Jul 21, 2015, at 7:43 PM, Arunoda Susiripala [email protected] wrote:

Yep. They should get from the same IP. But, that's okay for the testing purpose. Why that's going to be a problem?

On Wed, Jul 22, 2015 at 3:50 AM Darren Angle [email protected] wrote:

@arunoda https://github.com/arunoda Can you describe your process for load testing using Heroku? Did you use it to create loads from multiple IP addresses? meteor-down is great, but we're hitting some limitations re: all of the load from a single IP. Any advice? Thanks for all your work.

— Reply to this email directly or view it on GitHub https://github.com/alanning/meteor-load-test/issues/11#issuecomment-123496512 .

— Reply to this email directly or view it on GitHub.

darrenangle avatar Jul 22 '15 01:07 darrenangle

Yes. This is a not a so called load testing service :) So, here's my idea then.

Use modulus instead of heroku to do the test. Do it with multiple apps. Then, use choose each to app to use different data center.

On Wed, Jul 22, 2015 at 7:27 AM Darren Angle [email protected] wrote:

I'm looking to test the autoscaling features of Modulus with a realistic test, but they send all traffic from the same IP to a single server, even under heavy load.

Makes sense, session redundancy across multiple, auto scaling servers is hard- but it would awesome to distribute the ddp/meteor-specific test with multiple ips to see how Modulus handles load balancing and scaling.

Other load testing solutions I've found can do get requests from all over the globe just fine, but I'd like the meteor-specific insight into the sub and method performance that meteor-down provides.

On Jul 21, 2015, at 7:43 PM, Arunoda Susiripala < [email protected]> wrote:

Yep. They should get from the same IP. But, that's okay for the testing purpose. Why that's going to be a problem?

On Wed, Jul 22, 2015 at 3:50 AM Darren Angle [email protected] wrote:

@arunoda https://github.com/arunoda Can you describe your process for load testing using Heroku? Did you use it to create loads from multiple IP addresses? meteor-down is great, but we're hitting some limitations re: all of the load from a single IP. Any advice? Thanks for all your work.

— Reply to this email directly or view it on GitHub < https://github.com/alanning/meteor-load-test/issues/11#issuecomment-123496512

.

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub https://github.com/alanning/meteor-load-test/issues/11#issuecomment-123530353 .

arunoda avatar Jul 22 '15 02:07 arunoda

Thanks @arunoda.

darrenangle avatar Jul 22 '15 14:07 darrenangle