background preloader

Performance

Facebook Twitter

Web2.0

Ubuntu. Sysadmin. Known issues - ata Wiki. Drives which perform frequent head unloads under Linux Problem description Some ATA harddrives perform very frequent head unloads under Linux significantly shortening their lifespans.

Known issues - ata Wiki

Root cause The inactivity timer for head unload is configured too aggressively either via ATA APM (Advanced Power Management) feature or other non-standard means. Such aggressive settings are very fragile to changes in IO pattern and under Linux many such drives unload their heads only to re-load them shortly. How to determine whether a machine has this problem Many drives make small clunking noise when they unload and/or reload their heads, so if you hear such noise frequently (say, several times in a minute), it would be worth investigation. Note that modern laptop drives are supposed to unload frequently to save power. Known affected devices This list is far from complete. Storage-fixup Note: all the links to storage-fixup are broken as of 2013 Jan 7.

Hdparm -B 254 /dev/sda to /etc/rc.d/rc.local Samsung SC03. Best Practices for Speeding Up Your Web Site. The Exceptional Performance team has identified a number of best practices for making web pages fast.

Best Practices for Speeding Up Your Web Site

The list includes 35 best practices divided into 7 categories. Minimize HTTP Requests tag: content 80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, stylesheets, scripts, Flash, etc. One way to reduce the number of components in the page is to simplify the page's design. Combined files are a way to reduce the number of HTTP requests by combining all scripts into a single script, and similarly combining all CSS into a single stylesheet. CSS Sprites are the preferred method for reducing the number of image requests.

Image maps combine multiple images into a single image. Inline images use the data: URL scheme to embed the image data in the actual page. Reducing the number of HTTP requests in your page is the place to start. Top | discuss this rule Use a Content Delivery Network tag: server tag: css. Run intense JS without freezing the browser » Debuggable Ltd. Hey folks, this is probably one of the most exciting things I've come up with since I started playing around with JavaScript.

Run intense JS without freezing the browser » Debuggable Ltd

If you ever wrote a somewhat complex JS snippet you might have noticed that slower computers / browsers (like FF2 on mac) will freeze if you run through a big loop that does some heavy operations (event bindings, dom manipulations, etc.). For me at a user this has always been very annoying since it just gets into your work flow and if you get unlucky might even crash your browser. So far I thought the only way to avoid this was by simply writing less intense JavaScript and/or optimizing the hell out of it.

However, with the recent upgrades coming for PostTask we've reached the point were we often need to bind up to 300 events (!) YouTube Architecture. Update 3: 7 Years Of YouTube Scalability Lessons In 30 Minutes and YouTube Strategy: Adding Jitter Isn't A Bug Update 2: YouTube Reaches One Billion Views Per Day.

YouTube Architecture

That’s at least 11,574 views per second, 694,444 views per minute, and 41,666,667 views per hour. Update: YouTube: The Platform. YouTube adds a new rich set of APIs in order to become your video platform leader--all for free. Upload, edit, watch, search, and comment on video from your own site without visiting YouTube. YouTube grew incredibly fast, to over 100 million video views per day, with only a handful of people responsible for scaling the site. Information Sources Google Video Platform Apache Python Linux (SuSe) MySQL psyco, a dynamic python->C compiler lighttpd for video instead of Apache What's Inside? The Stats Supports the delivery of over 100 million videos per day. Recipe for handling rapid growth while (true) { identify_and_fix_bottlenecks(); drink(); sleep(); notice_new_bottleneck(); } This loop runs many times a day.