Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q1Xxh-0005MT-NT for pgsql-performance@arkaria.postgresql.org; Tue, 23 May 2023 19:46:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1q1Xxg-00021a-Au for pgsql-performance@arkaria.postgresql.org; Tue, 23 May 2023 19:46:24 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q1Xxg-00021Q-1J for pgsql-performance@lists.postgresql.org; Tue, 23 May 2023 19:46:24 +0000 Received: from li184-121.members.linode.com ([178.79.128.121] helo=mail.huxton.org.uk) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1q1XxX-001ihP-V2 for pgsql-performance@lists.postgresql.org; Tue, 23 May 2023 19:46:23 +0000 Received: from mail.huxton.org.uk (localhost [IPv6:::1]) by mail.huxton.org.uk (Postfix) with ESMTPA id 84CFB623CB0 for ; Tue, 23 May 2023 19:46:14 +0000 (UTC) MIME-Version: 1.0 Date: Tue, 23 May 2023 20:46:14 +0100 From: Richard Huxton To: pgsql-performance@lists.postgresql.org Subject: Re: PostgreSQL performance on ARM i.MX6 In-Reply-To: References: User-Agent: Roundcube Webmail/1.4.13 Message-ID: <0a0e357e71277b5a2b8d603a161728fa@huxton.org.uk> X-Sender: richard@huxton.org.uk Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2023-05-23 12:42, Druckenmueller, Marc wrote: > Hi there, > > I am investigating possible throughput with PostgreSQL 14.4 on an ARM > i.MX6 Quad CPU (NXP sabre board). > > Testing with a simple python script (running on the same CPU), I get > ~1000 request/s. I tweaked your script slightly, but this is what I got on the Raspberry Pi 4 that I have in the corner of the room. Almost twice the speed you are seeing. 0: this = 0.58 tot = 0.58 1: this = 0.55 tot = 1.13 2: this = 0.59 tot = 1.72 3: this = 0.55 tot = 2.27 4: this = 0.56 tot = 2.83 5: this = 0.57 tot = 3.40 6: this = 0.56 tot = 3.96 7: this = 0.55 tot = 4.51 8: this = 0.59 tot = 5.11 9: this = 0.60 tot = 5.71 That's with governor=performance and a couple of background tasks running as well as the python. PostgreSQL 15 in a container on a Debian O.S. I've not done any tuning on PostgreSQL (but your call isn't doing anything really) nor the Pi. The minor tweaks to your script were as below: import psycopg as pg import time conn = pg.connect('') conn.autocommit = True cur = conn.cursor() start = time.time() prev = start end = start for j in range(10): for i in range(1000): cur.execute("call dummy_call(%s,%s,%s, ARRAY[%s, %s, %s]::real[]);", (1,2,3, 4.0, 5.0, 6.0), binary=True ) end = time.time() print(f"{j}: this = {(end - prev):.2f} tot = {(end - start):.2f}") prev = end -- Richard Huxton