[firebase-br] [Firebird-devel] Test of new GC thread
Carlos H. Cantu
listas em warmboot.com.br
Qui Out 7 12:03:52 -03 2004
This is a forwarded message
From: Vlad Horsun <hvlad em users.sourceforge.net>
To: firebird-devel em lists.sourceforge.net
Date: Thursday, October 7, 2004, 9:31:35 AM
Subject: [Firebird-devel] Test of new GC thread
===8<==============Original message text===============
Hi, All
Since Arno fixed problems with indexes (thank you,
Arno!) i can continue testing new garbage collector thread.
Now i made multiuser test to see how gc_thread affects
performance. I run 16 isql's one by one (serial test) and
simultaneously (parallel test), each of it execute the same
script as in prior test.
After each test series database was checked (gfix -v -f),
gstat was running to see how much garbage left and sweeped.
Database has 512 page cache set.
Results :
1. No garbage collector thread
a) serial test
runs 4
avg run time 54.37
sum run time 217.48
garbage left 14252
b) parallel test
runs 16
avg run time 35.14
max run time 38.80
garbage left 57008
2. Old garbage collector
a) serial test
runs 4
avg run time 54.09
sum run time 216.34
garbage left 14252
b) parallel test
runs 16
avg run time 30.18
max run time 37.93
garbage left 57008
3. New garbage collector + cooperative gc
a) serial test
runs 16
avg run time 2.53
sum run time 40.46
garbage left 1
b) parallel test
runs 16
avg run time 31.45
max run time 39.48
garbage left 1157
4. New "pure" garbage collector (no cooperative gc)
a) serial test
runs 16
avg run time 2.51
sum run time 40.21
garbage left 9
b) parallel test
runs 16
avg run time 38.08
max run time 39.92
garbage left 750
In (1) and (2) serial test was stopped after 4th run
due to very long execution time (from 2.4 to 175 sec)
New garbage collector implementation was described
earlier in this list
(3) New garbage collector + cooperative gc means :
when user thread reads record which have backversion than
user thread tried to purge it (if OST allows) or notified
garbage collector about it
(4) New "pure" garbage collector means :
when user thread reads record which have backversion than
user thread just notified garbage collector about it (same
as old gc thread)
Conclusions :
a) run time of parallel test differs a little between
each gc strategy so we can say that new garbage
collector thread don't affect performance much
b) new gc_thread collects almost all garbage
c) run time of parallel and serial tests with new
gc_thread are near equal, but serial test with
old gc_thread (or without gc_thread) are slower
and slower
Regards,
Vlad
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel
===8<===========End of original message text===========
Mais detalhes sobre a lista de discussão lista