I'm a little confused,Tornado http://www.tornadoweb.org/ is web server just like a apache http server, or perhaps a framework like django, or both?

Thanks

Tornado is really a server and framework if you wish to have applications by using it.

I personally use Tornado for everyone my django applications, with assistance of nginx (load balancer to operate a lot more than 1 Tornado instance) and supervisor to create individuals tornados live if my applications fail.

I personally use WebFaction and also the performance of my applications improved with Tornado rather than serving all of them with apache.

Tornado is asynchronous (+ single threaded) and event-driven. Apache http and django aren't.

The "Django versus Tornado" is an ongoing flame war

IMHO I'd begin with Tornado (or Deft if you want the JVM).

Disclaimer: I am a Deft committer.