- Notifications
You must be signed in to change notification settings - Fork5
Commitfb3dbdf
committed
Rethink prior patch to filter out dead backend entries from the pgstats
file. The original code probed the PGPROC array separately for each PID,which was not good for large numbers of backends: not only is the runtimeO(N^2) but most of it is spent holding ProcArrayLock. Instead, take thelock just once and copy the active PIDs into an array, then use qsortand bsearch so that the lookup time is more like O(N log N).1 parent4ce6be4 commitfb3dbdf
File tree
3 files changed
+64
-7
lines changed- src
- backend
- postmaster
- storage/ipc
- include/storage
3 files changed
+64
-7
lines changedLines changed: 25 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
16 |
| - | |
| 16 | + | |
17 | 17 |
| |
18 | 18 |
| |
19 | 19 |
| |
| |||
2453 | 2453 |
| |
2454 | 2454 |
| |
2455 | 2455 |
| |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
| 2459 | + | |
| 2460 | + | |
| 2461 | + | |
| 2462 | + | |
| 2463 | + | |
| 2464 | + | |
| 2465 | + | |
2456 | 2466 |
| |
2457 | 2467 |
| |
2458 | 2468 |
| |
| |||
2478 | 2488 |
| |
2479 | 2489 |
| |
2480 | 2490 |
| |
2481 |
| - | |
| 2491 | + | |
2482 | 2492 |
| |
2483 | 2493 |
| |
2484 | 2494 |
| |
| |||
2497 | 2507 |
| |
2498 | 2508 |
| |
2499 | 2509 |
| |
2500 |
| - | |
| 2510 | + | |
2501 | 2511 |
| |
2502 | 2512 |
| |
2503 | 2513 |
| |
2504 | 2514 |
| |
2505 | 2515 |
| |
2506 |
| - | |
| 2516 | + | |
| 2517 | + | |
| 2518 | + | |
| 2519 | + | |
| 2520 | + | |
2507 | 2521 |
| |
2508 | 2522 |
| |
2509 | 2523 |
| |
| |||
2706 | 2720 |
| |
2707 | 2721 |
| |
2708 | 2722 |
| |
2709 |
| - | |
| 2723 | + | |
| 2724 | + | |
| 2725 | + | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
2710 | 2730 |
| |
2711 | 2731 |
| |
2712 | 2732 |
| |
|
Lines changed: 37 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
23 | 23 |
| |
24 | 24 |
| |
25 | 25 |
| |
26 |
| - | |
| 26 | + | |
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
| |||
732 | 732 |
| |
733 | 733 |
| |
734 | 734 |
| |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
735 | 771 |
| |
736 | 772 |
| |
737 | 773 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
29 | 29 |
| |
30 | 30 |
| |
31 | 31 |
| |
| 32 | + | |
32 | 33 |
| |
33 | 34 |
| |
34 | 35 |
| |
|
0 commit comments
Comments
(0)