

Ask HN: What are exactly, High Performance Web Applications? - zedzedzed

Recently, while chatting, I came across my freinds discussing about high performance web apps, having heavy number crunching ability on both client and server side.
Exactly what are these applications? Where are they used?
======
Donito
"High performance" is usually required when performance becomes a bottleneck
to your applications. In the case of web apps, there's server side, and client
side.

* Client Side: Rich/interactive application, which usually involve lots of Javascript. If not properly architect-ed and developed, inefficient code will run slowly and make the application hard to use. That's where "high performance" is needed. An example of such client-side applications could be Facebook. You client is handling the chat list, conversations, tickers, navigation (e.g. does not refresh), auto-scroll, and many many more client-side features. Having them all working seamlessly and smoothly running together is not a trivial task. Besides optimized javascript, there are other server-side details used to improve client-side performance such as using css sprites, caching whatever can be cached, minimizing/packing javascript, etc, etc...

* Server side: A lot of things are happening on the server. Again, depending on your application, performance bottleneck will appear that need to be fixed for the server to be able to handle the load in a reasonable time. Here are a few example of what those bottle necks could be, which would call for "high performance" measures: \- A "really high" number of visitors on your site, generating a massive amount of requests to your server. \- A "really high" amount of data is being stored/read in your database. \- A "really high" number of simultaneous connection is required for your real time application. There are many more cases, but all the above will require careful selection of server-side technologies to allow your web application to function as intended, while minimizing cost, time, and processing power. (or whichever other variable your business cares about). An example of application faced with all the challenges above is again Facebook. They have to handle millions of users online potentially chatting (real-time), looking at pictures (high requests), and posting/reading comments non-stop (read/write to database).

Hopefully I've explaining "what are those application". Now when you ask
"where are they used", I would reply "when they are needed" :)

~~~
zedzedzed
thanks donito, nice explanation.

