Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sEVyR-001sGo-EQ for pgsql-admin@arkaria.postgresql.org; Tue, 04 Jun 2024 15:21:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sEVyO-000399-G5 for pgsql-admin@arkaria.postgresql.org; Tue, 04 Jun 2024 15:21:16 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sEVyN-000391-Vd for pgsql-admin@lists.postgresql.org; Tue, 04 Jun 2024 15:21:16 +0000 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sEVyI-002JjF-9g for pgsql-admin@lists.postgresql.org; Tue, 04 Jun 2024 15:21:15 +0000 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-a69607c6ccaso108600066b.2 for ; Tue, 04 Jun 2024 08:21:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20230601.gappssmtp.com; s=20230601; t=1717514470; x=1718119270; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:to:from:subject:message-id:from:to:cc :subject:date:message-id:reply-to; bh=RHo9E7lV5qvMFD9l7MDhkBXr3O/hzkV5WPwYkeKEWJ4=; b=eFblauNbucqSl5b5MJ9U4k4/8+qYrOfLtLw6zE/jWoye/uh2SxXL5/ww60/QGiIq8X jegRya7man60dF9puhkv96Js6Q4H9Rdm1qmDOz/k6iemJ+DXkd8X1vRD6MT2dIw+kCJH rmsOHypNUxdX+Lv+7oKKTUCA/qSvWI5VMWgyy3M3sVS3Z6O4QkHusU7RllHoc7f4MTsy VSbHEQAJVaQtWVO68Y/KUmKMVgwOa7pidl3RSxJjMtzg4YRJHlkQ9Vwh+KirjGEvq5mN b+s5tNzgYmhNEhFZerRU9yUWha/viH0cO5krUMM3/AKowl62qWZcFb7ebQ/hRyuSRfug uRSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717514470; x=1718119270; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=RHo9E7lV5qvMFD9l7MDhkBXr3O/hzkV5WPwYkeKEWJ4=; b=s6flNY4W4d4OBMioRxF+JE1TFMAIIcm5Plup11qWsl4hnzAlJzRzJEg37ehoF5WQMY IArzInkQccSGwlnEBnK8pTDOk/3inWB3wVpCY/ioTCjaf0inTUP1Yd2kniDxzenq0UEB 2nc+BHUqoAq4UNR5U97di6ntKREfjeuM3hRSatl9b93u1NJ6+KBtUyRqPhiKxwgL9foV 0LyClwQOLbrYbQbT+i2vxQufxf7m8r/9Soy3qA61ltEERfX8ef1F2Z9Do3Q2HmREv901 OeFFEB3mq5ZUaQxbq0yVlm4qY/ZrshgirpRfJf8QwqbN9qrxRvuuLxuspMsiY1i3Qy0C ntZg== X-Forwarded-Encrypted: i=1; AJvYcCViwqJ+X9PvlHDzq6klvUAfJm1tXXf4fg/lB1ArbTU6i+65sXTyLNHVIEyhn3glSE4azvAPwSBbSgDAQya+C59xRa0sUMZMsEL9TMyCZfMJ9A== X-Gm-Message-State: AOJu0YzaCGE6asmM0GKeg2E/S4oiIzl+8UbxJQFqPm8Ftb+asfbnA59a DpCfJafNVpE1BfHd3ga1CpjaIuqyjZHHuEdHBDytDitjwoDwDd7W9sL8gKtldQQD+268qZWjDL1 u X-Google-Smtp-Source: AGHT+IH7AGKiKa6cWPLHIxJhqivz7Ey1wYqMVyZNLnfq1pudxzH4YW3VAbl9BD5Ym1Rx49YITunFMQ== X-Received: by 2002:a17:906:364a:b0:a58:e3d9:e2d6 with SMTP id a640c23a62f3a-a6822049a02mr759519966b.56.1717514469709; Tue, 04 Jun 2024 08:21:09 -0700 (PDT) Received: from localhost.localdomain ([2001:871:5e:ead0:1d6f:2017:5ab3:1ed5]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a69089e774csm312995266b.8.2024.06.04.08.21.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Jun 2024 08:21:09 -0700 (PDT) Message-ID: Subject: Re: Minimize checkpointer and walwriter io during pg_restore From: Laurenz Albe To: Ron Johnson , Pgsql-admin Date: Tue, 04 Jun 2024 17:21:08 +0200 In-Reply-To: References: Autocrypt: addr=laurenz.albe@cybertec.at; prefer-encrypt=mutual; keydata=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 +AnW5l0HsQcY9ntFL/zEBOaonjdJf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 2024-06-04 at 09:14 -0400, Ron Johnson wrote: > Currently, when doing a pg_restore with 24 threads, I see this when using= iotop: > checkpointer 90+ MB/s > walwriter 45+ MB/s >=20 > Is there any way to minimize it more than I already have, or is that just= how much work needs to be done when restoring the database? >=20 > Here's the current configuration (which will be reset after the post-rest= ore ANALYZE): > declare -gi SharedBuffs=3D32 > declare -gi MaintMem=3D3 # so the oom=C2=A0killer doesn't kill it > declare -gi CheckPoint=3D30 > declare -gi MaxWalSize=3D36 > declare -gi WalBuffs=3D64 > pg_ctl restart -wt$TimeOut -mfast \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c hba_file=3D$PGDATA/pg_hba_maintmode.co= nf" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c fsync=3Doff" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c log_statement=3Dnone" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c log_temp_files=3D100kB" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c log_checkpoints=3Don" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c log_min_duration_statement=3D120000" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c shared_buffers=3D${SharedBuffs}GB" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c maintenance_work_mem=3D${MaintMem}GB" = \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c synchronous_commit=3Doff" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c archive_mode=3Doff" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c full_page_writes=3Doff" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c checkpoint_timeout=3D${CheckPoint}min"= \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c max_wal_size=3D${MaxWalSize}GB" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c wal_level=3Dminimal" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c max_wal_senders=3D0" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c wal_buffers=3D${WalBuffs}MB" \ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 -o "-c autovacuum=3Doff"=C2=A0 I would not set "fsync" to off. It won't make a measurable difference for pg_restore, and it may break your database. The same applies to "full_page= _writes". What might make a difference is if you use the --single-transaction option = of pg_restore. If "wal_level =3D minimal", that could skip writing a substant= ial amount of WAL. Yours, Laurenz Albe