60 Posts tagged with performance
pigz - Parallel gzip
pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data
NorthScale Labs - memcached moxi
moxi is a memcached proxy with several features which can help keep the memcached contract whole in complicated environments. It also brings several optimizations to memcached deployments, without requiring any changes to the application software using memcached.
RED: Resource Expert Droid
RED is a robot that checks HTTP resources to see how they'll behave, pointing out common problems and suggesting improvements. Although it is not a HTTP conformance tester, it can find a number of HTTP-related issues.
How to find un-indexed queries in MySQL, without using the log
The key is knowing what it really means for a query to “not use an index.” There are two conditions that trigger this — not using an index at all, or not using a “good” index. Both of these set a bit. If either bit is set, the query is captured by the filter and logged. Both of these bits also set a corresponding bit in the protocol, so the TCP response to the client actually says “here comes the result of your query, and by the way it didn’t use an index.
Running Rails performance tests on real data
Force performance tests to use a 'performance' database (containing a production-like data set you provide), which will not get wiped on every run.
Percona XtraDB
An enhanced version of the InnoDB storage engine, designed to better scale on modern hardware, and including a variety of other features useful in high performance environments. It is fully backwards compatible, and so can be used as a drop-in replacement for standard InnoDB.
Bonnie
Bonnie is a benchmark suite that is aimed at performing a number of simple tests of hard drive and file system performance.
MySQLTuner
MySQLTuner is a script written in Perl that will assist you with your MySQL configuration and make recommendations for increased performance and stability. Within seconds, it will display statistics about your MySQL installation and the areas where it can be improved.
bong
Hit your website with bong. Uses httperf to run a suite of benchmarking tests against specified urls on your site.
HSCALE - Horizontal Scaling for MySQL
Abstracts partitioning outside of the application layer into a MySQL Proxy module. Not production ready yet, but watch this space.
Yaws
Yaws is a HTTP high perfomance 1.1 webserver particularly well suited for dynamic-content web applications. Yaws is entirely written in Erlang.
Distributed programming with Jabber and EventMachine
Slick. I should port FireBot to use EventMachine - right now it's using an awesomely low-tech while loop ;)
Optimizing Page Loading in the Web Browser
Details on the 'speculative preloading' feature enabled in recent WebKit nightlies. Smooth
starling and asynchrous tasks in ruby on rails
a plugin called 'workling' that integrates starling into your rails app
sudo gem install starling
Starling is a light-weight persistent queue server that speaks the MemCache protocol. It was built to drive Twitter's backend, and is in production across Twitter's cluster.
Google Code for Educators - Google: Cluster Computing and MapReduce
Video lectures and related course materials from Google on Cluster Computing and MapReduce
skynet
Skynet is an open source Ruby implementation of Google’s Map/Reduce framework, created at Geni.com. With Skynet, one can easily convert a time-consuming serial task, such as a computationally expensive Rails migration, into a distributed program running
sparrow
Sparrow is a really fast lightweight queue written in Ruby that speaks memcached. That means you can use Sparrow with any memcached client library (Ruby or otherwise). Sparrow was inspired by Twitter's Starling.
What's New in Edge Rails: Pluggable Controller Caching
Looks like the Rails caching code is getting some refactoring, as well as some new cache key management code.
mnot’s Web log: The State of Browser Caching
An in-depth look at what bugs exist in current browser's caching support
Interlock
Interlock makes your view fragments and associated controller blocks march along together. If a fragment is fresh, the controller behavior won‘t run. It also automatically tracks invalidation dependencies based on the model lifecycle.
YSlow for Firebug
YSlow analyzes web pages and tells you why they're slow based on the rules for high performance web sites. YSlow is a Firefox add-on integrated with the popular Firebug web development tool.
ONLamp.com -- Advanced MySQL Replication Techniques
Great example of circular replication using MySQL 5.x. For the next upgrade.
A bunch of presentations on scaling websites: twitter, Flickr, Bloglines, Vox and more.
If you haven't seen any of these, take some time and take a look at them all. Great info about building scalable web services.
Event Driven Mongrel and Swiftiply Proxy
"This is big news people. This thing makes shit faster and more stable under load."
Largest production memcached install?
Great thread with input from some of the heaviest memcached users out there
Extended Fragment Cache
The extended_fragment_cache plugin provides content interpolation and an in-process memory cache for fragment caching.
Vitamin Features » Serving JavaScript Fast
Nice article covering some very useful techniques for forcing web clients to cache javascript, css, and image assets.
Starfish - ridiculously easy distributed programming with Ruby
Oh my. MapReduce just clicked. And it's easy w/ Ruby. This is amazing. Combine this w/ EC2 and there's no limit to anything.
acts_as_with_readonly
acts_as_with_readonly is a Rails plugin to support slave-DB for finders in AR models
New Railsbench Release (0.9.2)
Benchmarking POST requests is now supported, benchmark specific session data can be specified in the benchmark config file and ERB can be used as well.
Benchmarking with httperf | PeepCode Screencasts for Ruby on Rails Developers
This screencast shows how to use the very simple (but capable) httperf command-line tool. It also explains the basic statistics you need to know to compare separate benchmarking runs.
table indexes in rails :: evan weaver
Don't forget about good database design when working in Rails - indexes are a must.
A Hodel 3000 Compliant Logger for the Rest of Us | Ruby on Rails for Newbies
A crazy way to monitor the performance of your Rails app using, of all things, Mint.