Skip to content

Instantly share code, notes, and snippets.

@kowsik
Created August 22, 2011 17:29
Show Gist options
  • Save kowsik/1162971 to your computer and use it in GitHub Desktop.
Save kowsik/1162971 to your computer and use it in GitHub Desktop.
Node Knockout with http://blitz.io

Node Knockout with blitz.io

blitz.io

What's blitz.io?

blitz.io, powered by Mu Dynamics, is a self-service load and performance testing platform. Built for API, cloud, web and mobile application developers, blitz.io quickly and inexpensively helps you ensure performance and scalabilty. And we make this super fun.

Why Load Test?

Node.js is purdy fast, but if you are not careful in the way you invoke backend services like CouchDB or MongoDB, you can easily cause pipeline stall making your app not scale to a large number of users. Typically you will end up with each concurrent request taking longer and longer resulting in timeouts and fail whales. Load testing shows you what kind of concurrency you can achieve with your app and how it's actually scaling out.

Signing up

Go to our login page and use your Facebook or Google accounts to login in with just 2 clicks. As simple as that. You will immediately be able to run load test against your app from the blitz bar.

Running a Load Test (rush)

If your app is at http://my.cool.app, the following blitz line will generate concurrent hits against your app:

--pattern 1-250:60 --region virginia http://my.cool.app

As simple as that. If your express and connect routes have parameters in them that you use for looking up in your favorite database, you can read up on (variables)[http://docs.blitz.io/variables] to parameterize query arguments and route paths so you can simulate production workloads on your app.

During the Event

We are super excited about sponsoring Node Knockout and have something fun planned.

At the start of the event, we are providing all contestants with enough blitz-power so you can generate lots of hits against your cool node.js app for 48 hours. We are also working on a scoreboard so you get bragging rights on the app with the most number of hits. Watch this page at the start of the event and you'll know what to do.

http://blitz.io/events/nodeknockout

Command-Line Testing

For those developers that don't like UI and prefer command line, here's the simplest way to run iterative load tests right after you git push your changes to the app:

$ gem install blitz
$ blitz api:init
$ blitz curl --pattern 1-250:60 --region virginia http://my.cool.app

To build cool node.js apps is awesome, to watch it scale out? priceless!

@gerad
Copy link

gerad commented Aug 23, 2011

Just my $0.02, I think this needs to be more of a "how to / why to" format.

The first part is almost there, but you need to do a better job showing people how it works. What do they have to do to get it set-up? What does the leaderboard look like? Why would I care when I have 100 other things to do in 48 hours... you need to convince me that it's super simple and super fun.

The continuous integration part doesn't make any sense to me. Why would you use blitz as part of CI? How do you use it? Show how the node.js client implementation works, don't just point people to a link.

@kowsik
Copy link
Author

kowsik commented Aug 24, 2011

gerad, made a bunch of changes. let me know if this looks okay.

@gerad
Copy link

gerad commented Aug 24, 2011

Much better IMO. Really, really like it. We'll aim to post tomorrow or Thursday.

@kowsik
Copy link
Author

kowsik commented Aug 24, 2011

Awesome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment