Showing posts with label scalability. Show all posts
Showing posts with label scalability. Show all posts

Sunday, January 11, 2015

Good HN thread on scaling a web app to 10K users

By Vasudev Ram




Saw this today on Hacker News:

What does it take to run a web app with 5K – 10K users?

I read the thread. Found that it had a number of good comments, on both sides of the equation - the business side, i.e. acquiring, retaining and supporting users, and the technical side, i.e. scaling the hardware and software to manage the load on the app. Many of the people who commented, run their own web apps at the same or higher scale.

Overall, a worthwhile read, IMO.

- Vasudev Ram - Dancing Bison Enterprises

Signup to hear about new products or services from me.

Contact Page

Tuesday, October 22, 2013

PDF book: High Performance Python tutorial by Ian Ozsvald


By Vasudev Ram


Just saw this via a chain of links:

High Performance Python tutorial by Ian Ozsvald. He gave it as a talk at EuroPython 2011. It is available as a PDF book here:

I scanned the topics; the book looks interesting.

His blog also has some updates related to the subject.

Speaking of PDF, if you want to create simple PDF ebooks, check out my xtopdf toolkit for PDF creation, and my various blog posts about xtopdf's different features and applications.

For PDF ebook creation with xtopdf, specifically look for
posts about ebooks and posts about XMLtoPDFBook.

- Vasudev Ram - Dancing Bison Enterprises

Contact me



O'Reilly 50% Ebook Deal of the Day



Sunday, September 16, 2012

Spanner, Google's buzzword-compliant global database

By Vasudev Ram


Seen via HN.

Okay, just kidding about the buzzword compliance. They do have a few in the article (see excerpt below) but I'm sure they don't mean it the way some people do. Sanjay Ghemawat of Google, who worked on their BigTable and MapReduce products, is one of the co-authors of the paper about Spanner.

Spanner: Google's Globally-Distributed Database

Excerpt from the Google Research page about Spanner:

[ Abstract:

Spanner is Google's scalable, multi-version, globally-distributed, and synchronously-replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This paper describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: non-blocking reads in the past, lock-free read-only transactions, and atomic schema changes, across all of Spanner.

To appear in:
OSDI'12: Tenth Symposium on Operating System Design and Implementation, Hollywood, CA, October, 2012. ]

- Vasudev Ram - Dancing Bison Enterprises


Monday, September 3, 2012

Performance: Scaling Reddit to millions of page views

By Vasudev Ram


Interesting post on scalability, on the High Scalability blog:

7 Lessons Learned While Building Reddit To 270 Million Page Views A Month

Of the 7 lessons, one that I found particularly interesting, was Lesson 3: Open Schema.
It talks about taking a different approach from traditional RDBMS database design, and the pros and cons of that. But the other lessons are interesting too.

Performance tuning in general is an interesting and challenging area. One book I've read about it, which is very good, IMO, is "Writing Efficient Programs", by Jon Bentley of Bell Labs. I own a copy and had read it cover to cover when I bought it - it's that good.

Excerpts from the Wikipedia article about Jon Bentley (linked above):

[ After receiving his Ph.D., he joined the faculty at Carnegie-Mellon University as an assistant professor of computer science and mathematics.[1] At CMU, his students included Brian Reid, John Ousterhout, Jeff Eppinger, Joshua Bloch, and James Gosling, and he was one of Charles Leiserson's advisors. Later, Bentley moved to Bell Laboratories.
...
He wrote the Programming Pearls column for the Communications of the ACM magazine, and later collected the articles into two books of the same name. He has published or presented over 200 papers.
...
Bentley received the Dr. Dobb's Excellence in Programming award in 2004. ]

Though it was written many years ago, and is now probably out of print (it was when I checked a while ago), it has many fascinating articles about performance tuning. What is more of interest, is that the chapters in the book talk about performance tuning at many different levels, from tuning at the level of algorithms and data structures, down to tuning at the level of individual subroutines and the code within them, and even further down the stack to the generated assembly language code and the hardware. (The book does not give actual examples of tuning at the level of hardware, but it does have plenty of "war stories", as Bemtley calls them, about real-life performance tuning cases, and one of them is an astonishing case where the performance of quicksort (IIRC), was improved by over a million times, by working at many levels of the stack, from the architecture down to the hardware.

Loop unrolling is another interesting example, where, IIRC, the speed of a binary search was increased several times. There are many other such examples and war stories.

One particular interesting one (though the code is not given, only a brief description) was a war story where someone said "I remember a young man building an interpreter for an interpreter ...", "thereby packing the program down into an incredibly small amount of space" - or words to that effect. That was actually needed in that case, because of the low memory of the target environment.

Bentley gives many tuning rules in the book, which can be applied to specific situations. Most of them are at the programming level, so are accessible to most programmers (who may not have the luxury of changing the architecture or the hardware).
He also gives situations where the rules are useful, and where they may not be useful.

UPDATE: Though I said it is out of print, I just searched and found an Amazon link for the book:

http://www.amazon.com/Writing-Efficient-Programs-Prentice-Hall-Software/dp/0139702512

- Vasudev Ram - Dancing Bison Enterprises

Wednesday, September 21, 2011

Flotype enabling easy large-scale real-time web apps? Berkeley founders, has funding, clients, claims revenue

By Vasudev Ram - dancingbison.com | @vasudevram | jugad2.blogspot.com

This is a quick post. Haven't checked out Flotype in detail but seems like it could be something, based on what I read so far.

Flotype is a Winter 2010 YCombinator startup that seems to be enabling easy-to-create large-scale real-time web apps via their product NowJS which seems to be based on Node.js. The 3 founders, all 19 years old (Hey, Bill, Larry, Sergey, Mark, ... :-) , are UC Berkeley engineering dropouts; the company has funding from YC and others, and may have clients and claims revenue on target to $1 million.

Check the links.

http://flotype.com

http://flotype.com/products

Flotype named in "Silicon Valley's Top 20 Startups":

http://www.businessinsider.com/20-silicon-valley-startups-to-watch#anyone-can-build-web-apps-with-flotype-1

Their main product is NowJS, seems based on Node.js, and is open-sourced:

http://nowjs.com/

- Vasudev Ram @ Dancing Bison