Update 4: Jeff Atwood costs out Markus' scale up approach against a scale out approach and finds scale up wanting. The discussion in the comments is as interesting as the article. My guess is Markus doesn't want to rewrite his software to work across a scale out cluster so even if it's more expensive scale up works better for his needs.
Update 3: POF now has 200 million images and serves 10,000 images served per second. They'll be moving to a 250,000 IOPS RamSan to handle the load. Also upgraded to a core database machine with 512 GB of RAM, 32 CPU’s, SQLServer 2008 and Windows 2008.
Update 2: This seems to be a POF Peer1 love fest infomercial. It's pretty content free, but the production values are high. Lots of quirky sounds and fish swimming on the screen.
Update: by Facebook standards Read/WriteWeb says POF is worth a cool one billion dollars. It helps to talk like Dr. Evil when saying it out loud.
PlentyOfFish is a hugely popular on-line dating system slammed by over 45 million visitors a month and 30+ million hits a day (500 - 600 pages per second). But that's not the most interesting part of the story. All this is handled by one person, using a handful of servers, working a few hours a day, while making $6 million a year from Google ads. Jealous? I know I am. How are all these love connections made using so few resources?
Analytics App by Michael D Jensen | The Google Analytics for iPhone App by Sergej Mueller | Ego App by Garrett Murray |
![]() |
With the growing adoption of Google’s User Statistics Patch**, the need for supporting scripts has become clear. To that end, we’ve created check-unused-keys, a Perl script to provide a nicer interface than directly querying the INFORMATION_SCHEMA database.
check-unused-keys can be invoked and used as follows:
%> check-unused-keys --help Usage: check-unused-keys [OPTIONS] Options: -d, –databases=<dbname> Comma-separated list of databases to check -h, –help Display this message and exit -H, –hostname=<hostname> The target MySQL server host –ignore-databases Comma-separated list of databases to ignore –ignore-indexes Comma-separated list of indexes to ignore db_name.tbl_name.index_name –ignore-tables Comma-separated list of tables to ignore db_name.tbl_name –options-file The options file to use -p, –password=<password> The password of the MySQL user -i, –port=<portnum> The port MySQL is listening on -s, –socket=<sockfile> Use the specified mysql unix socket to connect -t, –tables=<tables> Comma-separated list of tables to evaluate db_name.tbl_name –[no]summary Display summary information -u, –username=<username> The MySQL user used to connect -v, –verbose Increase verbosity level -V, –version Display version information and exit Defaults are: ATTRIBUTE VALUE ————————– —————— databases ALL databases help FALSE hostname localhost ignore-databases No default value ignore-indexes No default value ignore-tables No default value options-file ~/.my.cnf password No default value port 3306 socket No default value summary TRUE tables No Default Value username No default value verbose 0 (out of 2) version FALSE
** FULLTEXT indexes are not taken into account by this patch, so be wary. And, as always, sanity check the suggestions and test thoroughly before making changes to production.
Entry posted by Ryan Lowe | No comment
2.8.1 Beta 2 is ready for testing. Download it, check out the changes since beta 1, and review all tickets fixed in 2.8.1. We especially suggest, recommend, and beg that plugin developers test their plugins against beta 2 and let us know of any issues. Notable fixes in beta 2:
Thanks again for testing WordPress.
六月 2009 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 日 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |