I've written a few recent articles on Node.js, mostly to familiarize myself with the effort involved in creating basic applications with it. I have yet to use it in production, mostly because I’m just not sure how ready I am to use it on a large project…
I have been quite curious with performance compared to the standard tools that I've used forever and ever. In the following article, I’m going to do some basic comparisons between Node and Apache2 performance.
Let’s begin with the Apache website; it will be a basic HTML page with Hello World outputted on screen:
That’s nice and simple. I proceeded to create a new virtual host and placed this index.html in its webroot.
Next, I will create a basic Node.js website. In this example, I will use both Express and the Jade templating system. This need to be installed if they are not already, so I will create a packages.json file:
Now in a command prompt inside the folder where this file is present, I can run npm install and it will download and install both the Express and Jade packages.
Next up is a basic app.js file with one route for /:
This creates a new Express server, defines the view engine as Jade and displays the index.jade file for the / route. Here is a basic views/index.jade file:
This will also output Hello World to screen just like the basic index.html file created earlier. Now inside a command prompt I can start the application by typing node app.js.
It’s now time to compare Apples-to-Apples using my basic speed tester.
The results are astonishing!
First up I will run the speed tester on my Apache application. In 10 seconds, the speed tester was able to load my Apache website 300 times.
And finally running the speed tester on my Node application, in 10 seconds the speed tester was able to load my Node application an incredible 6500+ times!
I’m incredibly astonished at the difference between the two results. It’s important to note that I’m simply running this on my laptop running Windows 7. There might be better or worse results running this on a production server running a different Operating System. None-the-less, in this case the results speak for themselves. Node out performed Apache by 21 requests to every 1 request! Published on Dec 3, 2012 Tags: Optimization
| speed comparison
| Node js Tutorial
| Theory
| JavaScript
| apache
Did you enjoy this article? If you did here are some more articles that I thought you will enjoy as they are very similar to the article
that you just finished reading.
No matter the programming language you're looking to learn, I've hopefully compiled an incredible set of tutorials for you to learn; whether you are beginner
or an expert, there is something for everyone to learn. Each topic I go in-depth and provide many examples throughout. I can't wait for you to dig in
and improve your skillset with any of the tutorials below.
To begin, I need to create two extremely simple websites, one for Node.js and one to be used for Apache.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
{
"name": "my-test-project",
"version": "0.0.1",
"private": true,
"dependencies": {
"express": "~3.0.0",
"jade": ">= 0.0.1"
}
}
var express = require('express');
var app = express();
app.configure(function(){
app.set('view engine', 'jade');
});
app.get('/', function(req, res){
res.render("index.jade", {layout:false});
});
app.listen(8080);
!!! 5
html(lang="en")
head
title Hello World
body
h1 Hello World
Summary
Related Posts
Tutorials
Learn how to code in HTML, CSS, JavaScript, Python, Ruby, PHP, Java, C#, SQL, and more.