forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit7975c5e
committed
Allow the WAL writer to flush WAL at a reduced rate.
Commit4de82f7 increased the WAL flush rate, mainly to increase thelikelihood that hint bits can be set quickly. More quickly set hint bitscan reduce contention around the clog et al. But unfortunately theincreased flush rate can have a significant negative performance impact,I have measured up to a factor of ~4. The reason for this slowdown isthat if there are independent writes to the underlying devices, forexample because shared buffers is a lot smaller than the hot data set,or because a checkpoint is ongoing, the fdatasync() calls force cacheflushes to be emitted to the storage.This is achieved by flushing WAL only if the last flush was longer thanwal_writer_delay ago, or if more than wal_writer_flush_after (new GUC)unflushed blocks are pending. Based on some tests the default forwal_writer_delay is 1MB, which seems to work well both on SSD androtational media.To avoid negative performance impact due to4de82f7 an earliercommit (db76b1e) made SetHintBits() more likely to succeed; preventingperformance regressions in the pgbench tests I performed.Discussion: 20160118163908.GW10941@awork2.anarazel.de1 parent5df44d1 commit7975c5e
File tree
7 files changed
+141
-52
lines changed- doc/src/sgml
- src
- backend
- access/transam
- postmaster
- utils/misc
- include/postmaster
7 files changed
+141
-52
lines changedLines changed: 32 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2344 | 2344 |
| |
2345 | 2345 |
| |
2346 | 2346 |
| |
2347 |
| - | |
2348 |
| - | |
2349 |
| - | |
2350 |
| - | |
2351 |
| - | |
2352 |
| - | |
2353 |
| - | |
2354 |
| - | |
2355 |
| - | |
| 2347 | + | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
| 2354 | + | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
| 2367 | + | |
| 2368 | + | |
| 2369 | + | |
| 2370 | + | |
| 2371 | + | |
| 2372 | + | |
| 2373 | + | |
| 2374 | + | |
| 2375 | + | |
| 2376 | + | |
| 2377 | + | |
| 2378 | + | |
2356 | 2379 |
| |
2357 | 2380 |
| |
2358 | 2381 |
| |
|
Lines changed: 18 additions & 14 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
736 | 736 |
| |
737 | 737 |
| |
738 | 738 |
| |
739 |
| - | |
740 |
| - | |
741 |
| - | |
742 |
| - | |
743 |
| - | |
744 |
| - | |
745 |
| - | |
746 |
| - | |
747 |
| - | |
748 |
| - | |
749 |
| - | |
750 |
| - | |
751 |
| - | |
752 |
| - | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
753 | 757 |
| |
754 | 758 |
| |
755 | 759 |
| |
|
Lines changed: 76 additions & 28 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
42 | 42 |
| |
43 | 43 |
| |
44 | 44 |
| |
| 45 | + | |
45 | 46 |
| |
46 | 47 |
| |
47 | 48 |
| |
| |||
2729 | 2730 |
| |
2730 | 2731 |
| |
2731 | 2732 |
| |
2732 |
| - | |
| 2733 | + | |
2733 | 2734 |
| |
2734 |
| - | |
2735 |
| - | |
2736 |
| - | |
2737 |
| - | |
2738 |
| - | |
2739 |
| - | |
2740 |
| - | |
2741 |
| - | |
2742 |
| - | |
| 2735 | + | |
| 2736 | + | |
| 2737 | + | |
| 2738 | + | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
| 2744 | + | |
| 2745 | + | |
| 2746 | + | |
| 2747 | + | |
| 2748 | + | |
| 2749 | + | |
2743 | 2750 |
| |
2744 | 2751 |
| |
2745 | 2752 |
| |
2746 |
| - | |
| 2753 | + | |
| 2754 | + | |
2747 | 2755 |
| |
2748 | 2756 |
| |
2749 | 2757 |
| |
2750 | 2758 |
| |
2751 |
| - | |
| 2759 | + | |
2752 | 2760 |
| |
2753 |
| - | |
| 2761 | + | |
| 2762 | + | |
| 2763 | + | |
2754 | 2764 |
| |
2755 | 2765 |
| |
2756 | 2766 |
| |
| |||
2759 | 2769 |
| |
2760 | 2770 |
| |
2761 | 2771 |
| |
2762 |
| - | |
| 2772 | + | |
2763 | 2773 |
| |
2764 | 2774 |
| |
2765 | 2775 |
| |
2766 |
| - | |
| 2776 | + | |
2767 | 2777 |
| |
2768 | 2778 |
| |
2769 |
| - | |
| 2779 | + | |
2770 | 2780 |
| |
2771 | 2781 |
| |
2772 |
| - | |
| 2782 | + | |
2773 | 2783 |
| |
2774 | 2784 |
| |
2775 | 2785 |
| |
| |||
2779 | 2789 |
| |
2780 | 2790 |
| |
2781 | 2791 |
| |
2782 |
| - | |
| 2792 | + | |
2783 | 2793 |
| |
2784 | 2794 |
| |
2785 | 2795 |
| |
| |||
2791 | 2801 |
| |
2792 | 2802 |
| |
2793 | 2803 |
| |
| 2804 | + | |
| 2805 | + | |
| 2806 | + | |
| 2807 | + | |
| 2808 | + | |
| 2809 | + | |
| 2810 | + | |
| 2811 | + | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
| 2815 | + | |
| 2816 | + | |
| 2817 | + | |
| 2818 | + | |
| 2819 | + | |
| 2820 | + | |
| 2821 | + | |
| 2822 | + | |
| 2823 | + | |
| 2824 | + | |
| 2825 | + | |
| 2826 | + | |
| 2827 | + | |
| 2828 | + | |
| 2829 | + | |
| 2830 | + | |
| 2831 | + | |
| 2832 | + | |
| 2833 | + | |
| 2834 | + | |
| 2835 | + | |
| 2836 | + | |
| 2837 | + | |
| 2838 | + | |
| 2839 | + | |
2794 | 2840 |
| |
2795 | 2841 |
| |
2796 |
| - | |
2797 |
| - | |
| 2842 | + | |
| 2843 | + | |
| 2844 | + | |
2798 | 2845 |
| |
2799 | 2846 |
| |
2800 | 2847 |
| |
2801 | 2848 |
| |
2802 | 2849 |
| |
2803 | 2850 |
| |
2804 | 2851 |
| |
2805 |
| - | |
| 2852 | + | |
2806 | 2853 |
| |
2807 | 2854 |
| |
2808 |
| - | |
| 2855 | + | |
| 2856 | + | |
2809 | 2857 |
| |
2810 |
| - | |
2811 |
| - | |
2812 |
| - | |
2813 |
| - | |
2814 | 2858 |
| |
2815 |
| - | |
2816 | 2859 |
| |
2817 | 2860 |
| |
2818 | 2861 |
| |
| |||
2827 | 2870 |
| |
2828 | 2871 |
| |
2829 | 2872 |
| |
2830 |
| - | |
| 2873 | + | |
| 2874 | + | |
| 2875 | + | |
| 2876 | + | |
| 2877 | + | |
| 2878 | + | |
2831 | 2879 |
| |
2832 | 2880 |
| |
2833 | 2881 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
64 | 64 |
| |
65 | 65 |
| |
66 | 66 |
| |
| 67 | + | |
67 | 68 |
| |
68 | 69 |
| |
69 | 70 |
| |
|
Lines changed: 12 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2235 | 2235 |
| |
2236 | 2236 |
| |
2237 | 2237 |
| |
2238 |
| - | |
| 2238 | + | |
2239 | 2239 |
| |
2240 | 2240 |
| |
2241 | 2241 |
| |
| |||
2244 | 2244 |
| |
2245 | 2245 |
| |
2246 | 2246 |
| |
| 2247 | + | |
| 2248 | + | |
| 2249 | + | |
| 2250 | + | |
| 2251 | + | |
| 2252 | + | |
| 2253 | + | |
| 2254 | + | |
| 2255 | + | |
| 2256 | + | |
| 2257 | + | |
2247 | 2258 |
| |
2248 | 2259 |
| |
2249 | 2260 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
192 | 192 |
| |
193 | 193 |
| |
194 | 194 |
| |
| 195 | + | |
195 | 196 |
| |
196 | 197 |
| |
197 | 198 |
| |
|
Lines changed: 1 addition & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
14 | 14 |
| |
15 | 15 |
| |
16 | 16 |
| |
| 17 | + | |
17 | 18 |
| |
18 | 19 |
| |
19 | 20 |
| |
|
0 commit comments
Comments
(0)