Forum OpenACS Q&A: Response to Advice for moving photo.net off a solaris system

ReiserFS only journals metadata, I thought? So there's not really duplication of effort, as ReiserFS will be journaling changes to inode structure and stuff like that while the redo log will be journaling changes to records in the various database table files.

While its true that ReiserFS only journals the metadata in the journal that is in the located in the 8th through the 8210th 4k block on the reiser partition the problem is not the duplication of effort but trying to optimize the head movement. For instance what would actually happen diskwise if you were doing a simple "INSERT A INTO B" statement using 7.0 on ext2 vs 7.1.2 on reiser:

  • File Data is Updated by flushing dirty page
  • Meta Data is updated (potentially at a separate place on platter)
VS
  • Reiser Log Updates Changes about to be made
  • Wal Log Updates Statements including meta data for WAL
  • File Data is changed in pg data directory
  • File MetaData is also updated in pg data directory
  • WAL checkpoints are issued at some point
  • Reiser Log is updated that transactions completed.

The point I am trying to make is that if you put the WAL files on a dedicated nonjournaling partition/platter then it reduces load on the rest of the FS and allows speedier execution. Seeks are expensive operations and the heads on the WAL files can remain where the data can immediately be flushed to disk.

I could be wrong but my initial testing seems to back up performance results and for more info people may want to check out these links:

As always I could be wrong ...