Skip to content

Instantly share code, notes, and snippets.

@jhs
Last active December 10, 2015 11:08
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jhs/4425430 to your computer and use it in GitHub Desktop.
Save jhs/4425430 to your computer and use it in GitHub Desktop.
Node.js npm December stats and reflections

Sent this to the CouchDB users list just now; duplicated here for others to see or comment

Hi, all. Sorry to be distant from the community recently. No excuse.

I thought I might share December stats from one of Apache CouchDB's most well-known deployments and killer apps: the Node.js npm registry.

Facts

  • Zero downtime
  • Three data centers: SoftLayer, EC2, Joyent
  • 99,327,470 HTTP queries served = 37/sec
  • Slowest minute: Dec 08 09:35, 578 queries = 9.6/sec
  • Busiest minute: Dec 20 18:43, 19,776 queries = 329/sec
  • Slowest second: (many), 0 queries
  • Busiest second: Dec 20 18:43:03, 932 queries/sec

Reflections

This is only the public registry. Our customers and also independent third parties run their own replicas. We do not or cannot (respectively) publish their usage stats.

Think about that. Isaac owns the registry. We run the registry. Yet neither of us can even know its entire function, much less do anything about it. That is empowerment. That is why I joined CouchDB. CouchDB is free software for free data. It carries the ideals of the Free Software movement into the 21st century.

Plenty of sites can produce more impressive numbers than these. There are even larger CouchDB sites out there. But I am still proud. This is not a multi-million dollar venture-capitalized eyeball something something. We run standard, orthodox Apache CouchDB. That is encouraging. I did not deliver these numbers. Apache CouchDB did. These are not benchmarks. These are production logs. That is nine-hundred thirty-two satisfied customers in one second! (Well, a true sysadmin would say "not-yet disappointed customers" which is all one can ask for.) It shows that anybody can wield CouchDB to similar effect.

There are general-purpose programming languages, and there are domain-specific programming languages. Nobody gets upset because you can't write a web server in YAML. Nobody uses .java configuration files.

Apache CouchDB is a domain-specific database. The npm registry shows: for the domain CouchDB addresses, it has no peer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment