Re: Improvement of checkpoint IO scheduler for stable transaction responses
От | KONDO Mitsumasa |
---|---|
Тема | Re: Improvement of checkpoint IO scheduler for stable transaction responses |
Дата | |
Msg-id | 51DEA513.2000108@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: Improvement of checkpoint IO scheduler for stable transaction responses (KONDO Mitsumasa <kondo.mitsumasa@lab.ntt.co.jp>) |
Ответы |
Re: Improvement of checkpoint IO scheduler for stable transaction responses
|
Список | pgsql-hackers |
Hi,l I create fsync v3 v4 v5 patches and test them. * Changes - Add considering about total checkpoint schedule in fsync phase (v3 v4 v5) - Add considering about total checkpoint schedule in write phase (v4 only) - Modify some implementations from v3 (v5 only) I use linear combination method for considering about total checkpoint schedule which are write phase and fsync phase. V3 patch was considered about only fsync phase, V4 patch was considered about write phase and fsync phase, and v5 patch was considered about only fsync phase. Test result is here. Benchmark setting and server are same as previous test. '-*' shows checkpoint_completion_target in each tests. And all tests which are except 'fsync v3_disabled' set 'checkpointer_fsync_delay_ratio=1' and 'checkpointer_fsync_delay_threshold=1000'. 'fsync v3_disabled' set 'checkpointer_fsync_delay_ratio=0' and 'checkpointer_fsync_delay_threshold= -1'. V5 patch is testing now:-), but it will be same score as v3 patch. * Result ** DBT-2 result | NOTPM | 90%tile | Average | S.Deviation | Maximum ---------------------+-----------+---------+---------+-------------+-------- fsync v3-0.7 | 3649.02 | 9.703 | 4.226 | 3.853 | 21.754 fsync v3-0.9 | 3694.41 | 9.897 | 3.874 | 4.016 | 20.774 fsync v3-0.7_disabled| 3583.28 | 10.966 | 4.684 | 4.866 | 31.545 fsync v4-0.7 | 3546.38 | 12.734 | 5.062 | 4.798 | 24.468 fsync v4-0.9 | 3670.81 | 9.864 | 4.130 | 3.665 | 19.236 ** Average checkpoint duration (sec) (Not include during loading time) | write_duration | sync_duration | total | punctual to checkpoint schedule ---------------------+----------------+---------------+--------+-------------------------------- fsync v3-0.7 | 296.6 | 251.8898 | 548.48 | OK fsync v3-0.9 | 292.086 | 276.4525 | 568.53 | OK fsync v3-0.7_disabled| 303.5706 | 155.6116 | 459.18 | OK fsync v4-0.7 | 273.8338 | 355.6224 | 629.45 | OK fsync v4-0.9 | 329.0522 | 231.77 | 560.82 | OK ** Increase of checkpoint duration (%) (Reference point is 'fsync v3-0.7_disabled'.) | write_duration | sync_duration | total ---------------------+----------------+---------------+------- fsync v3-0.7 | 97.7% | 161.9% | 119.4% fsync v3-0.9 | 96.2% | 177.7% | 123.8% fsync v3-0.7_disabled| 100.0% | 100.0% | 100.0% fsync v4-0.7 | 90.2% | 228.5% | 137.1% fsync v4-0.9 | 108.4% | 148.9% | 122.1% * Examination ** DBT-2 result V3 patch seems good result which is be faster response time about 10%-30% and inclease NOTPM about 5% than no sleep(fsync v3-0.7_disabled), and v4 patch is not good result. However, 'fsync v4-0.9' is same score as v3 patch when more large checkpoint_completion_target. I think that considering about checkpoint schedule about write phase and fsync phase makes more harsh in IO schedule. Because write phase IO schedule is more strict than normal write phase. And it is also bad in fsync phase and concern latter. ** Average checkpoint duration All methods are punctual to checkpoint schedule. In enabling fsync sleep, it is longer fsync time, however total time are much the same as no sleep. 'fsync v4-0.7 ' becomes very bad sync duration and total time. It indicates that changing checkpoint_completion_target is very delicate. It had not better change write phase scheduling, the same as it used to. At write phase in normal setting , it have sufficiently time for punctual to checkpoint schedule. And I think that many user want to be compatible with old version. What do you think about these patches? Best regards, -- Mitsumasa KONDO NTT Open Source Software Center
Вложения
В списке pgsql-hackers по дате отправления: