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.96) (envelope-from ) id 1wVMQQ-001uDP-2K for pgsql-admin@arkaria.postgresql.org; Fri, 05 Jun 2026 04:44:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wVMQP-00A2Z8-21 for pgsql-admin@arkaria.postgresql.org; Fri, 05 Jun 2026 04:44:53 +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.96) (envelope-from ) id 1wVMQP-00A2Yz-0k for pgsql-admin@lists.postgresql.org; Fri, 05 Jun 2026 04:44:53 +0000 Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wVMQN-00000001MN6-1LOY for pgsql-admin@lists.postgresql.org; Fri, 05 Jun 2026 04:44:52 +0000 Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-396775c26f9so13951491fa.3 for ; Thu, 04 Jun 2026 21:44:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780634690; cv=none; d=google.com; s=arc-20240605; b=d2tmz/93FJmaN7LnEBQPbZrISXtGPgqf2fE3HgDRV6XM5O/8MEl3NkRl810wC3qYXo Yq08RAS155tj0g2NKnuagzwS5yhy3Tf5+HtWVRd7RfcaKcS1geHriv02b4qHDvTpBre9 bz2E9i8p3EXSe8+GfymqUXB/8wZmgqlI/zQeZ+6t8Z0Rgpd4yzDdAgFYBu202PqVzPgp OHjcSnYxCmUNXNkIUJxnFbgeU4RX60lGSYyUjq/6s+apg6x5GNSqY6S2jxr4/FHKQQEJ FP7yEVF/pxjVUZLYi3R5dNJXAhrWD3u7BeIO09pBc/S79tqk0tWPrMmpuQsRoqFB53j9 UMZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=0gLMEHnpqxne/41DGd55C3S1KlqLSKbT2hkiSRJnxj8=; fh=gSx3Ozzbf+DhJLozGWu9HDY5BV7LnRTbbr6F1SycGYs=; b=OgluQDb3WHIxriGh6kTsoQSO4xpVdaT5b+uOkrN3GwAICt2oHdz26ufyiwJYdzlQ8N qwKZxJ86hGNp/GjL6dN0oBXnl2R0AKg8smt5ivdkPGNSnyuz5S2+BvbAVjszntU5N2Qr qm5LC0+qGN0LBZAQhmMnB3lEIjnAE6QSG4fQe/y8sZaBvZ/214cf1p1rAwd4VZHkhfvw sVIINJD9cIUiUCNUIRy8l4IHo1mCVWu/lLWU+mikogoEurhPYIGnLQ5kbbMAbq05GYrD LfSrrjOBOkxsiAswIc66FzaOOPaRwqQ1opfl9AfyTsnFFpqCcjUK1Lvis9jv82hRzThZ rk3g==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780634690; x=1781239490; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=0gLMEHnpqxne/41DGd55C3S1KlqLSKbT2hkiSRJnxj8=; b=jrp198IbNzO7I6H8FC/gLXHkHIH57HY5tT7oL8fMeIdnMYdqYeMNe658OrWDIO7SM+ r2FOpg/BLAB5Cekrp7e1n/agU45WLVo+bRBQfyBs7t+MKCeahcIIYswxerm+SFeAbqTs VOl/y4wNGgheau3bLnoSBgQlKNy9A5xLpdQpXPW4OqRiW7zpymByk4KT/tz99oCqdNM3 3a6MKG7SiRjM7HNm4PsoFnQMVXMzFL8uqm/r4jChmGz3q/gEaqsC0Q/Ij919fAcPQFyI WYJsCe8iXNnaTC4Xm4Q+z9rHWxjYeZ6rD3GFJvz75X5pxWzKJNbqOJw4uY7A7i7Aj4oh n44A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780634690; x=1781239490; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0gLMEHnpqxne/41DGd55C3S1KlqLSKbT2hkiSRJnxj8=; b=mU5trRvCLB8bg5GQ+tjQkEb1LtxsT7+NyIVeFe+ivaZW/O6nvR028+1BVESunUYr38 Kmh+SOUwMF6YnbrUPFkOW+OILw0zieoIRPk48hhhM170ywlvTKmnGUOLf0bFft+I2wfY l5fJ45cxpoHkXbZ6PYFoGrWvYZoh7Nm/Otc3eYRcghmWaAWIjFQg6tXTd5jbDmd5p4yS w06+2fm91Fql1Vj7s9t7aqoSLzPMv9L7JvJPKfbty7eRHPGcbxoF03TbNo6wMs4tvDgo Hc69FLWMD3wcoEl+Y9sXwjXRravHl5RDZ8v0LphsoG9cYgQ7513o1TF/lWgQs4S5eEzi +vuw== X-Gm-Message-State: AOJu0YzTK6vvbl1Tzssx+WezTKlxGh6Y3C8YKTODW7xEhaIb94SU7vyn /UoiPbH+X3Zi77uA0mt/tcp7Qst6FhezK+xH/tBpIWiLQF85VxW4ZwhdciuX6fwRcfHRmVdmVwm WWzpeFTY06sdrUMR5zwrc9Td8T+pZ5ws= X-Gm-Gg: Acq92OE2d/655q6pyjXglCuboEkqlkeCkWsj0DJ50OpJIXtuQSKa7loIRE0UHF6VOEo Se0MzcDGiJ+l4w+IA1YorcrI6Gqe00OkKLfxTQ8xrfDhY7jubmgcUm+1ptjeT1z3nYJYJmKzro+ vNp/ITi1fHn/dYqcfz/4VsYvaSJ+B/yNZvfGMgIi9ZQGsBesINmlA0LaW8+1AXGgYElbPGC8NUV W5xvTvb7AKx+NnrkbocxKyq36YLATqoMa+tkSq7JaMytE4nDGpZjU0s9TjeZYZDIir6ukqn1DyE IrZEjn8wpV5FKKgq65lF2/TMe1WV3PzxMzg= X-Received: by 2002:a05:6512:66cf:b0:5aa:6cd6:a7ef with SMTP id 2adb3069b0e04-5aa87be2444mr268646e87.45.1780634690008; Thu, 04 Jun 2026 21:44:50 -0700 (PDT) MIME-Version: 1.0 References: <1F4B10F9-E3E1-4FC9-AD8F-95B20CC48106@elevarq.com> In-Reply-To: From: Raj Date: Fri, 5 Jun 2026 10:14:37 +0530 X-Gm-Features: AVVi8CfLfZnCEgu5cgZdmANlM__SL0OnT4XJUtUq1u6XqtgZhySDacoiFCuFkPI Message-ID: Subject: Re: Low TPS To: Frank Heikens Cc: Pgsql-admin Content-Type: multipart/alternative; boundary="0000000000002c3c3306537a52d1" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000002c3c3306537a52d1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Cache hir ratio is 74. When I checked there were only couple of big partition tables have less cache hit ratio On Fri, 5 Jun 2026, 09:17 Raj, wrote: > Postgres 17.9 > VM > Pgnouncer > Mixed workload > > Disk utlization means - IO or pgdats is increasing? > > > On Thu, 4 Jun 2026, 09:48 Frank Heikens, wrote: > >> Hi, >> >> At the moment there isn=E2=80=99t enough information to determine whethe= r >> PostgreSQL is the bottleneck. >> >> A throughput of 60 TPS by itself does not tell us much. The limitation >> could be in the application, connection pool, network, database, storage >> subsystem, external services, or even the load test setup itself. >> >> Could you provide some additional information? >> >> * PostgreSQL version >> * Deployment type (bare metal, VM, AWS RDS, Azure, etc.) >> * Number of application instances >> * Connection pool being used (PgBouncer, HikariCP, etc.) >> * Average response time during the test >> * Number of active database connections >> * CPU, memory, and disk utilization during the test >> * Top queries from pg_stat_statements >> * Wait events observed during the test >> * Whether the workload is read-heavy, write-heavy, or mixed >> >> From the database side, I would monitor at least: >> >> * CPU utilization >> * Memory utilization >> * I/O throughput and latency >> * Active sessions (pg_stat_activity) >> * Wait events >> * Transactions per second >> * Cache hit ratio >> * Checkpoint activity >> * WAL generation rate >> * Query execution times (pg_stat_statements) >> * Lock contention >> * Replication lag (if applicable) >> >> Without these metrics, it is impossible to determine whether PostgreSQL >> is actually limiting throughput or whether the bottleneck is elsewhere. >> >> Could you share the above information and some monitoring graphs from th= e >> load test? >> >> Frank >> >> >> >> > On Jun 3, 2026, at 9:11=E2=80=AFPM, Raj = wrote: >> > >> > =EF=BB=BF >> > Hi all, >> > >> > If the application teams they are able achive only 60TPS and this is >> not expected. They are calculating based on total su=C3=A7cess requests/= minutes >> we ran load test*60. >> > >> > From Database side what we can do and during.load test what are all.th= e >> metric we need to monitor from our side. Vcpu 32, 128GB RAM >> > --0000000000002c3c3306537a52d1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Cache hir ratio is 74. When I checked there were only cou= ple of big partition tables have less cache hit ratio=C2=A0

On Fri, 5 Jun 2026, 09:17 Raj, <rajeshkumar.dba09@gmail.com> wrote:
Postgres 17.9
VM
Pgnouncer
Mixed workload
<= div dir=3D"auto">
Disk utlization means - IO or = pgdats is increasing?


=
On Thu, 4 Jun 2026, 09:48 Frank Heike= ns, <frank@elevarq.com> wrote:
Hi,

At the moment there isn=E2=80=99t enough information to determine whether P= ostgreSQL is the bottleneck.

A throughput of 60 TPS by itself does not tell us much. The limitation coul= d be in the application, connection pool, network, database, storage subsys= tem, external services, or even the load test setup itself.

Could you provide some additional information?

* PostgreSQL version
* Deployment type (bare metal, VM, AWS RDS, Azure, etc.)
* Number of application instances
* Connection pool being used (PgBouncer, HikariCP, etc.)
* Average response time during the test
* Number of active database connections
* CPU, memory, and disk utilization during the test
* Top queries from pg_stat_statements
* Wait events observed during the test
* Whether the workload is read-heavy, write-heavy, or mixed