Re: two queries and dual cpu (perplexed) - Mailing list pgsql-performance
From | Shoaib Burq (VPAC) |
---|---|
Subject | Re: two queries and dual cpu (perplexed) |
Date | |
Msg-id | Pine.LNX.4.44.0504212329460.3270-100000@hp.vpac.org Whole thread Raw |
In response to | Re: two queries and dual cpu (perplexed) ("Shoaib Burq (VPAC)" <sab@vpac.org>) |
List | pgsql-performance |
here are some i/o stats with the unchanged postgresql.conf. Gonna change it now and have another go. [postgres@dbsql1 MultiCPU_test]$ vmstat 10 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 25808 710356 6348860 972052 2 4 73 29 1 3 1 0 99 0 2 0 25808 647636 6348960 1034784 0 0 3226 3048 1054 92819 55 19 25 1 2 0 25808 585684 6349032 1096660 0 0 3203 3057 1053 96375 55 19 25 1 2 0 25808 521940 6349112 1160364 0 0 3388 2970 1052 95563 54 19 26 1 2 0 25808 463636 6349184 1218568 0 0 2804 3037 1048 93560 55 19 25 1 2 0 25808 405460 6349264 1276696 0 0 2794 3047 1046 96971 55 19 25 1 2 0 25808 343956 6349340 1338160 0 0 3151 3040 1049 96629 55 20 25 1 2 0 25808 287252 6349412 1394732 0 0 2666 2990 1045 95173 54 20 25 1 2 0 25808 230804 6349484 1451168 0 0 2678 2966 1044 95577 54 19 26 1 2 0 25808 169428 6349560 1512428 0 0 3164 3015 1048 98451 55 19 25 1 2 0 25808 110484 6349640 1571304 0 0 2910 2970 1050 98214 55 20 25 0 0 0 25808 50260 6349716 1631408 0 0 3049 3015 1049 99830 55 20 25 1 1 0 25808 8512 6349788 1673156 0 0 2934 2959 1047 95940 54 19 24 3 2 1 25808 8768 6349796 1672944 0 0 2552 2984 1043 97893 55 19 18 8 1 1 25808 8384 6349824 1673256 0 0 2596 3032 1051 94646 55 19 19 6 2 1 25808 8960 6349856 1672680 0 0 2982 3028 1052 94486 55 20 19 6 1 1 25808 8960 6349884 1672584 0 0 3125 2919 1052 86969 52 20 19 8 2 0 25808 6196 6349912 1675276 0 0 2809 3064 1046 99147 55 20 19 5 1 1 25808 9216 6349976 1672152 0 0 2898 3076 1047 93271 55 19 21 6 2 0 25808 6580 6349316 1663972 0 0 3150 2982 1048 94964 54 22 20 4 2 0 25808 7692 6349348 1674480 0 0 2742 3006 1045 97488 54 21 21 4 2 1 25808 8232 6346244 1676700 0 0 2900 3022 1048 92496 54 20 19 8 2 0 25808 7104 6346192 1678044 0 0 3284 2958 1057 97265 55 20 18 7 2 0 25808 8488 6346168 1676776 0 0 2609 3031 1047 93965 55 19 20 7 2 1 25808 8680 6346184 1676488 0 0 3067 3044 1051 96594 55 19 19 6 2 0 25808 8576 6346168 1676640 0 0 2900 3070 1047 96300 55 19 20 6 2 1 25808 9152 6346156 1676176 0 0 3010 2993 1049 98271 55 20 19 7 2 0 25808 7040 6346172 1678200 0 0 3242 3034 1050 97669 55 20 21 4 1 1 25808 8900 6346192 1676344 0 0 2859 3014 1052 91220 53 19 21 6 2 1 25808 8512 6346188 1676824 0 0 2737 2960 1049 100609 55 20 18 6 2 0 25808 7204 6346236 1678000 0 0 2972 3045 1050 94851 55 19 17 9 1 0 25808 7116 6346208 1678028 0 0 3053 2996 1048 98901 55 19 20 5 2 1 25808 9180 6346196 1676068 0 0 2857 3067 1047 100629 56 21 20 3 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 3 1 25808 8896 6346172 1676500 0 0 3138 3022 1049 97937 55 20 20 5 2 1 25808 9088 6346188 1676212 0 0 2844 3022 1047 97664 55 19 20 5 1 1 25808 8920 6346248 1676288 0 0 3017 3024 1049 99644 55 20 17 7 1 1 25808 8064 6346116 1677168 0 0 2824 3037 1047 99171 55 20 19 5 2 1 25820 8472 6344336 1678596 0 0 2969 2957 1047 96396 54 21 18 7 2 1 25820 9208 6344300 1677884 0 0 3072 3031 1050 95017 54 19 22 5 1 0 25820 7848 6344328 1679148 0 0 3229 3011 1050 97108 55 19 20 5 2 1 25820 8960 6344348 1678040 0 0 2701 2954 1046 98485 54 20 21 5 2 0 25820 7900 6344368 1679244 0 0 2604 2931 1044 97198 54 20 19 7 2 0 25820 9240 6344424 1677896 0 0 2990 3015 1048 102414 56 20 19 5 2 0 25820 8924 6344436 1678088 0 0 3256 2991 1049 96709 55 19 21 5 1 1 25820 8900 6344456 1678204 0 0 2761 3030 1051 96498 55 20 20 5 2 0 25820 7628 6344440 1679444 0 0 2952 3012 1053 96534 55 20 19 6 2 0 25820 7080 6344472 1679956 0 0 2848 3079 1050 95074 56 19 19 6 2 0 25820 8928 6344444 1678080 0 0 2985 3021 1049 96806 55 20 18 7 2 1 25820 7976 6344976 1676892 11 0 3429 3062 1083 92817 55 19 18 8 2 0 25820 8096 6345080 1676652 0 0 2662 2989 1056 91921 54 19 17 10 1 0 25820 7424 6345128 1677352 0 0 2956 3029 1054 99385 56 19 20 5 2 0 25820 6664 6345232 1677724 0 0 3358 3030 1064 95929 55 19 21 5 1 0 25820 7268 6345320 1676956 0 0 2681 3012 1082 97744 54 20 18 7 2 0 25820 6944 6345364 1677184 0 0 3156 3022 1061 98055 55 19 22 4 2 0 25820 8668 6345420 1675428 0 0 2990 3018 1050 94734 55 19 22 5 2 1 25820 8724 6345464 1675452 0 0 2677 2967 1055 100760 55 20 18 7 2 1 25820 9260 6345508 1674796 0 0 3296 3233 1054 99711 55 20 20 5 2 0 25820 6196 6345556 1677944 0 0 2861 2950 1066 93289 53 19 23 6 2 0 25820 8052 6345620 1675908 0 0 3012 2920 1051 94428 54 19 20 7 2 1 25820 9000 6345672 1675040 0 0 2645 2980 1045 99992 56 20 17 8 2 1 25820 8296 6345728 1675732 0 0 3216 3058 1052 91934 54 19 21 5 2 0 25820 7900 6345796 1676072 0 0 3009 3022 1052 96303 55 19 20 7 2 0 25820 8516 6345844 1675344 0 0 2586 2956 1048 95812 54 20 19 8 2 1 25820 9000 6345892 1674752 0 0 3225 3028 1055 99786 54 20 21 5 0 1 25820 9128 6345768 1674684 0 1 2868 3016 1049 98301 55 21 19 6 2 1 25820 8160 6345828 1675576 0 0 3079 3056 1050 93725 55 19 21 5 On Thu, 21 Apr 2005, Shoaib Burq (VPAC) wrote: > > here's explain sorry about the mess: I can attach it as text-file if you > like. > > ausclimate=# explain ANALYZE select count(*) from "getfutureausclimate"; > > > > QUERY PLAN > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > Aggregate (cost=1069345.85..1069345.85 rows=1 width=0) (actual > time=443241.241..443241.242 rows=1 loops=1) > -> Subquery Scan getfutureausclimate (cost=1069345.61..1069345.81 > rows=16 width=0) (actual time=411449.034..436165.259 rows=13276368 > loops=1) > -> Sort (cost=1069345.61..1069345.65 rows=16 width=58) (actual > time=411449.026..426001.199 rows=13276368 loops=1) > Sort Key: "Aus40_DEM"."AusPosNumber", > "CurrentAusClimate"."iMonth" > -> Nested Loop (cost=2.19..1069345.29 rows=16 width=58) > (actual time=135.390..366902.373 rows=13276368 loops=1) > -> Nested Loop (cost=2.19..1067304.07 rows=44 > width=68) (actual time=107.627..186390.137 rows=13276368 loops=1) > -> Nested Loop (cost=2.19..1067038.94 rows=44 > width=52) (actual time=87.255..49743.796 rows=13276368 loops=1) > -> Nested Loop (cost=2.19..8.09 rows=1 > width=32) (actual time=52.684..52.695 rows=1 loops=1) > -> Merge Join (cost=2.19..2.24 > rows=1 width=24) (actual time=28.000..28.007 rows=1 loops=1) > Merge Cond: > ("outer"."ClimateId" = "inner"."ClimateId") > -> Sort (cost=1.17..1.19 > rows=7 width=10) (actual time=10.306..10.307 rows=3 loops=1) > Sort Key: > "ClimateVariables"."ClimateId" > -> Seq Scan on > "ClimateVariables" (cost=0.00..1.07 rows=7 width=10) (actual > time=10.277..10.286 rows=7 loops=1) > -> Sort (cost=1.02..1.02 > rows=1 width=14) (actual time=17.679..17.680 rows=1 loops=1) > Sort Key: > "GetFutureClimateParameters"."ClimateId" > -> Seq Scan on > "GetFutureClimateParameters" (cost=0.00..1.01 rows=1 width=14) (actual > time=17.669..17.671 rows=1 loops=1) > -> Index Scan using > "PK_ScenarioEmissionLevels" on "ScenarioEmissionLevels" (cost=0.00..5.83 > rows=1 width=18) (actual time=24.676..24.679 rows=1 loops=1) > Index Cond: > (("ScenarioEmissionLevels"."ScenarioId" = "outer"."ScenarioId") AND > ("ScenarioEmissionLevels"."iYear" = "outer"."iYear") AND > ("ScenarioEmissionLevels"."LevelId" = "outer"."LevelId")) > -> Index Scan using "IX_ClimateId" on > "ClimateChangeModel40" (cost=0.00..1063711.75 rows=265528 width=20) > (actual time=34.564..19435.855 rows=13276368 loops=1) > Index Cond: ("outer"."ClimateId" = > "ClimateChangeModel40"."ClimateId") > -> Index Scan using "PK_Aus40_DEM" on > "Aus40_DEM" (cost=0.00..6.01 rows=1 width=16) (actual time=0.005..0.006 > rows=1 loops=13276368) > Index Cond: ("outer"."AusPosNumber" = > "Aus40_DEM"."AusPosNumber") > -> Index Scan using "PK_CurrentAusClimate" on > "CurrentAusClimate" (cost=0.00..46.20 rows=11 width=14) (actual > time=0.007..0.009 rows=1 loops=13276368) > Index Cond: (("CurrentAusClimate"."ClimateId" = > "outer"."ClimateId") AND ("outer"."AusPosNumber" = > "CurrentAusClimate"."AusPosNum") AND ("CurrentAusClimate"."iMonth" = > "outer"."iMonth")) > Total runtime: 443983.269 ms > (25 rows) > > > Sheeeesshh... > > > You should really, really bump up shared_buffers and given you have 8GB > > of ram this query would likely benefit from more work_mem. > > I actually tried that and there was a decrease in performance. Are the > shared_buffers and work_mem the only things I should change to start with? > If so what's the reasoning. > > > > Is this an IO intensive query? If running both in parellel results in > > 2x the run time and you have sufficient cpus it would (to me) indicate > > you don't have enough IO bandwidth to satisfy the query. > > Yes I think so too: ... I am just compiling some io stats... > > Also will jump on to irc... > > > > Whoa! thanks all... I am overwhelmed with the help I am getting... I love > it! > > > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) > -- Shoaib Burq -- VPAC - Geospatial Applications Developer Building 91, 110 Victoria Street, Carlton South, Vic 3053, Australia _______________________________________________________________ w: www.vpac.org | e: sab_AT_vpac_DOT_org | mob: +61.431-850039
pgsql-performance by date: