Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ejpHT-0004LI-9O for pgsql-performance@arkaria.postgresql.org; Thu, 08 Feb 2018 16:42:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ejpHS-0004Ae-8F for pgsql-performance@arkaria.postgresql.org; Thu, 08 Feb 2018 16:42:38 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ejpFC-000586-1u for pgsql-performance@lists.postgresql.org; Thu, 08 Feb 2018 16:40:18 +0000 Received: from mail-yw0-x22e.google.com ([2607:f8b0:4002:c05::22e]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ejpF8-0003MR-0I for pgsql-performance@lists.postgresql.org; Thu, 08 Feb 2018 16:40:16 +0000 Received: by mail-yw0-x22e.google.com with SMTP id m84so3040004ywd.5 for ; Thu, 08 Feb 2018 08:40:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=7C33C5MztxBRTNGgPcGqdKlswWhRMEHNukive70kNec=; b=knJU4vTfyBMz1H3CjNogcfFVPxECKOa9UZRSQspnTma/1q4Vj5p5rXEb7kUguo+5As eiINKQ+DTlPbed4xNyHtkwp1yb5PLb6QST6JgyH1KILxZJ1CoQfXtjySY0+1xBMNc9Cp 4B3nBsp+W07F1PZi7VyI3NswSu6XWAXrf+t/iizI3kowFMa2czmMG6/xvlvUCYxHG/oK c5SSXAq//zXnYhE/vVFLrDE+guWBEY89xDra7qC8sJ11EyfDlYF5wZ2xNiTxSdXvQX9C msjfpgMoxKkWtN7rqRPNxtFDlB7E5ANqe/5j7h/Yh8fM8BgOOfQigeKhlPoqHGeeu22B t1ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=7C33C5MztxBRTNGgPcGqdKlswWhRMEHNukive70kNec=; b=cOoKsYB2Z1556S9+kZXWd30F8VswNmgqYtJEXicNu1/qst2u6hZEU8IK+yqbvGPKsk z++utQzR9TbqKYuR4gkuanCnNSUOuY+IDgP9rs0AnOIIQSXu4kCAQmJ44MO86UkEGJPJ vt8b3N1Cm5qGdVNU/I0dyBVkaKjBGXE8cVEkZ6BhqheIH/7snMSYnAQX5Oxw7w8RPUHy QfiBXzFutDM7GxxoUKF5ure7LNTbdXWDjmMuTOiQIsZ0/Ty1BKToPW0IONgZrxJxujeE QlMdfVGr85ERI4WmD0oRmOXBP4TB9pcK1CkkGbTJcy5vw33YlTKuPxl25WPPAzlPxLDX lnEw== X-Gm-Message-State: APf1xPBAyoXwuRkPEtQteDG9Et5jhEBkPQMexd3O8VGxedyA3JJtsRIz puIj7KXit6edR2fl1++IF1pMGYmn X-Google-Smtp-Source: AH8x227PwlcnGleeva8eFPBhFMzEWKck2bJvX0bFuigfTeEgyHJxbBTg/GXvitAJnKF/SSLH83yHjQ== X-Received: by 10.37.68.134 with SMTP id r128mr973835yba.502.1518108012483; Thu, 08 Feb 2018 08:40:12 -0800 (PST) Received: from [192.168.1.183] ([193.93.78.27]) by smtp.gmail.com with ESMTPSA id b20sm120283ywe.30.2018.02.08.08.40.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 08 Feb 2018 08:40:11 -0800 (PST) Subject: Re: effective_io_concurrency on EBS/gp2 From: Vitaliy Garnashevich To: Claudio Freire Cc: hzzhangjiazhi , Gary Doades , Rick Otten , "pgsql-performance@lists.postgresql.org" References: <6c7a45df-f6ab-f2ce-6f84-9555864f6c86@gmail.com> <768e3a56-46ed-3dd1-8722-953a47857a35@gmail.com> <014801d39a99$d4c32930$7e497b90$@gpdnet.co.uk> <8fb758a1-d7fa-4dcc-fb5b-07a992ae6a32@gmail.com> <534b557c-3658-6d0f-2330-34a78da57e2f@gmail.com> <9122FC8B-2129-4E10-807F-F9F34117A156@corp.netease.com> <85a21d95-a776-4c1c-3223-5568864df3f3@gmail.com> <7895b3f0-0871-2b04-d3a3-3ade175e7212@gmail.com> <4948d2de-33c1-1c98-df9e-8b5541cd7eee@gmail.com> Message-ID: <364c0960-fd84-da6d-ed57-51ef268f628a@gmail.com> Date: Thu, 8 Feb 2018 18:40:12 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <4948d2de-33c1-1c98-df9e-8b5541cd7eee@gmail.com> Content-Type: multipart/mixed; boundary="------------DF2DCD994A8CF0E378DC2142" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------DF2DCD994A8CF0E378DC2142 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Anyway, there are still some strange things happening when effective_io_concurrency is non-zero. I've found that the real reason for the poor Bitmap Scan performance was related not only with sparsity of the rows/pages to be rechecked, but also with the value of starting ID from which the scan begins: create table test as select generate_series(1, 100000) id, repeat('x', 90) val; alter table test add constraint test_pkey primary key (id); select count(*) tup_per_page from test group by (ctid::text::point)[0] order by count(*) desc limit 5;  tup_per_page --------------            65            65            65            65            65 (5 rows) select * from test where id between X and 100000 and val != '' effective_io_concurrency=0; id between 0 and 100000; Execution time: 524.671 ms effective_io_concurrency=1; id between 0 and 100000; Execution time: 420.000 ms effective_io_concurrency=0; id between 0 and 100000; Execution time: 441.813 ms effective_io_concurrency=1; id between 0 and 100000; Execution time: 498.591 ms effective_io_concurrency=0; id between 0 and 100000; Execution time: 662.838 ms effective_io_concurrency=1; id between 0 and 100000; Execution time: 431.503 ms effective_io_concurrency=0; id between 10 and 100000; Execution time: 1210.436 ms effective_io_concurrency=1; id between 10 and 100000; Execution time: 1056.646 ms effective_io_concurrency=0; id between 10 and 100000; Execution time: 578.102 ms effective_io_concurrency=1; id between 10 and 100000; Execution time: 396.996 ms effective_io_concurrency=0; id between 10 and 100000; Execution time: 598.842 ms effective_io_concurrency=1; id between 10 and 100000; Execution time: 555.258 ms effective_io_concurrency=0; id between 50 and 100000; Execution time: 4017.999 ms effective_io_concurrency=1; id between 50 and 100000; Execution time: 383.694 ms effective_io_concurrency=0; id between 50 and 100000; Execution time: 535.686 ms effective_io_concurrency=1; id between 50 and 100000; Execution time: 570.221 ms effective_io_concurrency=0; id between 50 and 100000; Execution time: 852.960 ms effective_io_concurrency=1; id between 50 and 100000; Execution time: 656.097 ms effective_io_concurrency=0; id between 64 and 100000; Execution time: 385.628 ms effective_io_concurrency=1; id between 64 and 100000; Execution time: 712.261 ms effective_io_concurrency=0; id between 64 and 100000; Execution time: 1610.618 ms effective_io_concurrency=1; id between 64 and 100000; Execution time: 438.211 ms effective_io_concurrency=0; id between 64 and 100000; Execution time: 393.341 ms effective_io_concurrency=1; id between 64 and 100000; Execution time: 744.768 ms effective_io_concurrency=0; id between 65 and 100000; Execution time: 846.759 ms effective_io_concurrency=1; id between 65 and 100000; Execution time: 514.668 ms effective_io_concurrency=0; id between 65 and 100000; Execution time: 536.640 ms effective_io_concurrency=1; id between 65 and 100000; Execution time: 461.966 ms effective_io_concurrency=0; id between 65 and 100000; Execution time: 1810.677 ms effective_io_concurrency=1; id between 65 and 100000; Execution time: 545.359 ms effective_io_concurrency=0; id between 66 and 100000; Execution time: 663.920 ms effective_io_concurrency=1; id between 66 and 100000; Execution time: 5571.118 ms effective_io_concurrency=0; id between 66 and 100000; Execution time: 683.056 ms effective_io_concurrency=1; id between 66 and 100000; Execution time: 5883.359 ms effective_io_concurrency=0; id between 66 and 100000; Execution time: 472.809 ms effective_io_concurrency=1; id between 66 and 100000; Execution time: 5461.794 ms effective_io_concurrency=0; id between 100 and 100000; Execution time: 647.292 ms effective_io_concurrency=1; id between 100 and 100000; Execution time: 7810.344 ms effective_io_concurrency=0; id between 100 and 100000; Execution time: 773.750 ms effective_io_concurrency=1; id between 100 and 100000; Execution time: 5637.014 ms effective_io_concurrency=0; id between 100 and 100000; Execution time: 726.111 ms effective_io_concurrency=1; id between 100 and 100000; Execution time: 7740.607 ms effective_io_concurrency=0; id between 200 and 100000; Execution time: 549.281 ms effective_io_concurrency=1; id between 200 and 100000; Execution time: 5032.522 ms effective_io_concurrency=0; id between 200 and 100000; Execution time: 692.631 ms effective_io_concurrency=1; id between 200 and 100000; Execution time: 5138.669 ms effective_io_concurrency=0; id between 200 and 100000; Execution time: 793.342 ms effective_io_concurrency=1; id between 200 and 100000; Execution time: 5375.822 ms effective_io_concurrency=0; id between 1000 and 100000; Execution time: 596.754 ms effective_io_concurrency=1; id between 1000 and 100000; Execution time: 5278.683 ms effective_io_concurrency=0; id between 1000 and 100000; Execution time: 638.706 ms effective_io_concurrency=1; id between 1000 and 100000; Execution time: 5404.002 ms effective_io_concurrency=0; id between 1000 and 100000; Execution time: 730.667 ms effective_io_concurrency=1; id between 1000 and 100000; Execution time: 5761.312 ms effective_io_concurrency=0; id between 2000 and 100000; Execution time: 656.086 ms effective_io_concurrency=1; id between 2000 and 100000; Execution time: 6156.003 ms effective_io_concurrency=0; id between 2000 and 100000; Execution time: 768.288 ms effective_io_concurrency=1; id between 2000 and 100000; Execution time: 4917.423 ms effective_io_concurrency=0; id between 2000 and 100000; Execution time: 500.931 ms effective_io_concurrency=1; id between 2000 and 100000; Execution time: 5659.255 ms effective_io_concurrency=0; id between 5000 and 100000; Execution time: 755.440 ms effective_io_concurrency=1; id between 5000 and 100000; Execution time: 5141.671 ms effective_io_concurrency=0; id between 5000 and 100000; Execution time: 542.174 ms effective_io_concurrency=1; id between 5000 and 100000; Execution time: 6074.953 ms effective_io_concurrency=0; id between 5000 and 100000; Execution time: 570.615 ms effective_io_concurrency=1; id between 5000 and 100000; Execution time: 6922.402 ms effective_io_concurrency=0; id between 10000 and 100000; Execution time: 469.544 ms effective_io_concurrency=1; id between 10000 and 100000; Execution time: 6083.361 ms effective_io_concurrency=0; id between 10000 and 100000; Execution time: 706.078 ms effective_io_concurrency=1; id between 10000 and 100000; Execution time: 4069.171 ms effective_io_concurrency=0; id between 10000 and 100000; Execution time: 526.792 ms effective_io_concurrency=1; id between 10000 and 100000; Execution time: 5289.984 ms effective_io_concurrency=0; id between 20000 and 100000; Execution time: 435.503 ms effective_io_concurrency=1; id between 20000 and 100000; Execution time: 5460.730 ms effective_io_concurrency=0; id between 20000 and 100000; Execution time: 454.323 ms effective_io_concurrency=1; id between 20000 and 100000; Execution time: 4163.030 ms effective_io_concurrency=0; id between 20000 and 100000; Execution time: 674.382 ms effective_io_concurrency=1; id between 20000 and 100000; Execution time: 3703.045 ms effective_io_concurrency=0; id between 50000 and 100000; Execution time: 226.094 ms effective_io_concurrency=1; id between 50000 and 100000; Execution time: 2584.720 ms effective_io_concurrency=0; id between 50000 and 100000; Execution time: 1431.037 ms effective_io_concurrency=1; id between 50000 and 100000; Execution time: 2651.834 ms effective_io_concurrency=0; id between 50000 and 100000; Execution time: 345.194 ms effective_io_concurrency=1; id between 50000 and 100000; Execution time: 2328.844 ms effective_io_concurrency=0; id between 75000 and 100000; Execution time: 120.121 ms effective_io_concurrency=1; id between 75000 and 100000; Execution time: 2125.927 ms effective_io_concurrency=0; id between 75000 and 100000; Execution time: 115.865 ms effective_io_concurrency=1; id between 75000 and 100000; Execution time: 1616.534 ms effective_io_concurrency=0; id between 75000 and 100000; Execution time: 138.005 ms effective_io_concurrency=1; id between 75000 and 100000; Execution time: 1651.880 ms effective_io_concurrency=0; id between 90000 and 100000; Execution time: 66.322 ms effective_io_concurrency=1; id between 90000 and 100000; Execution time: 443.317 ms effective_io_concurrency=0; id between 90000 and 100000; Execution time: 53.138 ms effective_io_concurrency=1; id between 90000 and 100000; Execution time: 566.945 ms effective_io_concurrency=0; id between 90000 and 100000; Execution time: 57.441 ms effective_io_concurrency=1; id between 90000 and 100000; Execution time: 525.749 ms For some reason, with dense bitmap scans, when Bitmap Heap Scan / Recheck starts not from the first page of the table, the effective_io_concurrency=0 consistently and significantly outperforms effective_io_concurrency=1. Regards, Vitaliy --------------DF2DCD994A8CF0E378DC2142 Content-Type: application/octet-stream; name="starting-id-test.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="starting-id-test.zip" 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 ABIAfQYAADgyAAAAAA== --------------DF2DCD994A8CF0E378DC2142--