On 29/08/2011 08:35, Alexander Peshkov wrote:
> В Вс., 28/08/2011 в 19:14 -0300, Adriano dos Santos Fernandes пишет:
>> All,
>>
>> After I bought a new machine, I reinstalled Ubuntu
> 11.04?

Yes. Kernel is 2.6.38.


>>   in new HDD with ext4
>> filesystem.
>>
>> While the new machine has much better CPU than the old one, I noticed
>> the build being very slow where Firebird was creating databases.
>>
>> I found that mounting the ext4 partition with barrier=0 parameter
>> decreased the performance from more than 2 minutes to less than 50s in
>> the build.
>>
>> But changing this parameter seems to not make ext4 at least safe as
>> ext3. So I reverted it and adjust the build to turn FW=off for the
>> internal databases. That didn't become fast as barrier=0, but was
>> acceptable (around 1 minute).
>>
>> Now I tried to run tcs and saw it's completely unpractical. So I started
>> to test just "create database" performance.
>>
>> The numbers are around this:
>>
>> ntfs: 0.2s
>> ext3 default (barrier=0): 0.1s
>> ext3 (barrier=1): 0.8s
>> ext4 default (barrier=1): 2.8s
>>
>> I removed the O_SYNC flag in posix.cpp and it makes ext4 similar to ext3.
>>
>> So I have some questions:
>>
>> Are we doing something wrong?
>>
> In 'man mount' I see:
> Write barriers enforce proper on-disk ordering of journal commits,
> making volatile disk write caches safe to use, at some performance
> penalty.
>
> But if barriers are needed just to make journal commits safe on the disk
> with write cache turned on this seems to be not directly related with
> firebird databases - write cache ON will anyway break firebird database
> in case of crash. Or may be this option actually deals with all data on
> disk, not only journal?
>
> Tested CREATE DATABASE on my old box. To avoid disk fragmentation
> effects database was always created on new shining partition.
>
> writecache=OFF
> ext3 barrier=0 1.084s
> ext3 barrier=1 1.063s
> ext4 barrier=0 3.392s
> ext4 barrier=1 3.380s
>
> As expected - FS ignores barriers when cahce is off.
>
> writecache=ON
> ext3 barrier=0 0.388s
> ext3 barrier=1 1.023s
> ext4 barrier=0 0.410s
> ext4 barrier=1 1.884s
>
> In mode always recommended by us for FB databases, barriers make no
> effect. What is interesting to know - does that fance barriers effect
> only syslog or all filesystem write safety?

Is this "writecache" you're talking the one changeable by hdparm?

Here is another funny time:

ext4, barrier=1, data=ordered, vmware with file-based disk, guest is 
Ubuntu 11.04, host is Windows 7
create database time: around 0.45s [compared to 2.8s of same config but 
non-virtualized]


Adriano


------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to