|
|
|
Back to newsletter 054 contents
Walmart uses a java + database architecture to serve over 100 million pages per day. Another example of Java's ability to scale you might think. But do we know enough about the details of the site to make that claim?
What I do know (see our news items listed below) is enough to say some interesting things. 100 million pages a day sounds like a lot. Moved over to a per-second rate it amounts to over one thousand pages delivered each second. Spread over 100 machines, it amounts to 10 pages delivered per second per machine. Hmm, maybe that doesn't sound quite so impressive?
But it is. You see, you have to factor in two important issues. Firstly, serving static pages compared to serving session specific dynamic pages are two very different problems. To get good performance for a site with that level of load you have to have architected it to handle each type of page in the most appropriate way, otherwise your site will get bogged down by overheads in one or the other type of page. And secondly, you cannot just take an arbitrary session oriented application, distribute over a cluster and get instant scalability. Again, you have to architect the application to manage horizontal scalability (i.e. over a cluster), otherwise the application quickly gets bogged down in one of many potential limitations to scalability, like cache synchronization, session distribution, etc.
So those figures are enough to tell us two things: that the Walmart website is sufficiently well architected that it correctly scales horizontally, handling different page types appropriately; and that Java was not a handicap in making that happen - in fact I expect java was actually a help in making that happen, but I don't have enough information to say that, so I'll make that weaker claim.
All that should tell you two things: getting the architecture right is important; and there is no reason not to use Java - Java is fast enough and can scale well. And that is something I have been saying for a long time, but it never hurts to repeat it.
Now on with the rest of this month's newsletter - our usual raft of articles, news and tools, and new performance tips extracted in concise form.
Java performance tuning related news.
Back to newsletter 054 contents