On Mar 6, 2013, at 5:55 AM, Wojciech Puchar <woj...@wojtek.tensor.gdynia.pl> 
wrote:

>> I was using it to store large MySQL myisam tables , speed was acceptable at 
>> the time .  I never had any fs corruption and it worked as expected .
>> 
>> At the time I set it up I remember there was some chatter about how slow 
>> gjournal was compared to ufs with softupdate .
> 
> did some tests yesterday on 25GB partition.
> 
> i simulated journal on SSD using 2GB malloc backed ramdisk (md0). UFS 
> partition mounted async as gjournal recommends.
> 
> test: unpacking kernel sources to multiple directories until disk gets full
> 
> simulates write heavy I/O.
> 
> gjournal+SATA drive (seagate constellation ES 500GB) with write cache 
> disabled - 14 minutes 20 seconds.
> 
> write cache enabled - 14 minutes 5 seconds (nearly no difference).
> 
> UFS+journalled softupdates, no gjournal, disk write cache on - 26 minutes 44 
> seconds. disk write cache off - was too lazy to wait after an hour.
> 
> With gjournal it is not only faster, but it doesn't make other I/O activity 
> crawling.
> 

Interesting I will have to try this; can you post the exact test steps . Also 
what type of controller were you using and what kernel / version .

> 
>> 
>> Fast forward to today I almost always use ufs with softupdate journal , new 
>> in FreeBSD 9.0 and available as a patch to 6.x, 7.x , and 8.x
> 
> The problem is as follows:
> 
> SU+J makes sure that metadata will get consistent. NOT DATA. And this is 
> quite a mess if you get UPS failure under high load.
> 
> gjournal does journal everything.
> 

Not exactly, ufs mounted  with default options insures data is written sync and 
metadata asynchronous . Standard Softupdate (no journal) improves upon this by 
limiting what ops need to write to the disk. It had some short falls  for edge 
case operations; which softupdate journal resolved by journaling the metadata 
ops that were not protected / covered by standard softupdate .  

See 
http://jeffr-tech.livejournal.com/24357.html



>> This is better supported now , as more people use it in new 9.x builds  .
>> 
>>> i think about journal on SSD.
>> 
>> I believe this is only and option in geom journal ,
> 
> SSDs are not expensive today. i can get 128GB SSD and create 20GB journal 
> just to limit wear. and possibly use the rest of SSD to store read-intensive 
> data.
> 

I wonder if how trim / no trim effects the journal wear . 

> the way gjournal writes to journal device (sequential) is very friendly for 
> SSD too.
> 
> Small SLC-based SSD would be best but i don't see anything on the market with 
> acceptable price for now.
> 
>> I am not sure if you can relocate a suj journal to an alternate disk.
> no you can't. But still you will end with consistent metadata but not 
> consistent data. I recovered it but still it took a time and lots of checking.
> 
> 
> 
> 
> gjournal doesn't seem to be elegant in case of journal failure (i simulated 
> it with forced removal of ramdisk with mdconfig).
> 
> TONS of messages in logs, but still - no data loss, just you have to shutdown 
> system, boot from pendrive, remove journal, fsck (just for sure), and then 
> add journal again


I would be careful of using the md for the journal . Something makes me think 
it will play nicer when you remove that then a real failure .  Try a USB stick 
for the journal; and pull it out while running your test case.  That to me 
seams evil enough to break this setup . 

Let me know what happens .

Also when testing su+j I ran the following test case . Extract ports via 
portsnap extract , build world with -j4 . Let the box warm up the yank the 
power and then boot the box back up and see what happens . 
--
Mark saad | mark.s...@longcount.org
 
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to