mogilefs usage and performance

Mark Smith junior at
Fri Aug 11 19:48:25 UTC 2006

> So, I want to ask - what's the optimal environment for these tasks,
> where I need to read many small files very quickly and want to use
> replicating file system mogilefs? As I understand, I can scale
> trackers, mysql, setup more storage servers, but the minimum time for
> 50 files is 0.4 seconds.

There are a few things you can do.  Try both of these suggestions in
your test and then see how it performs.  I bet you can get your requests
per second number much higher.

1) Make sure you're using Perlbal::XS::HTTPHeaders.  Link:

This is an XS module that replaces the header parsing system built into
Perlbal, which is written in Perl.  This has saved us 40% CPU usage on
Perlbal, making the whole thing much faster.

2) Switch from using mogstored to using lighttpd/Apache for serving the
files on the mogstored.

On LiveJournal, we have so many reads, we don't use mogstored (Perlbal in
disguise) to do them.  Instead, we're running Apache configured to serve
files out of /var/mogdata.

This is possible by setting the http_get_port for the host, which
specifies that all GET requests should go to a different port.  You can
then put your alternative software there.

You still want to run mogstored to create the usage files, which is how
the tracker keeps tabs on disk space.

Mark Smith
junior at

More information about the mogilefs mailing list