Received: from makus.postgresql.org (makus.postgresql.org [98.129.198.125]) by mail.postgresql.org (Postfix) with ESMTP id C3132E6023A for ; Sun, 29 Jan 2012 18:49:07 -0400 (AST) Received: from mail-ee0-f46.google.com ([74.125.83.46]) by makus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1RrdYZ-0007Sq-Uc for pgsql-performance@postgresql.org; Sun, 29 Jan 2012 22:49:08 +0000 Received: by eekc14 with SMTP id c14so1239368eek.19 for ; Sun, 29 Jan 2012 14:48:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type:content-transfer-encoding; bh=afqmyjGSvgN2ZKviw2paCZFC4aVN9wzsccbiR0XbNQs=; b=X4VhovU1sabNk21SKc2bTKVv0oIq+LRTfsPbDPa1qI3D5c5mt7xSmrzBS9ZSzwo3Mz YL7kvKqoK+h4Jt37yS4o6xrmQSwoGnhiBTERaPyviM9tYGtUYfSG6fi92oJgxZHLJBG5 cgYLZvWSgIohKupZimffUVusztNC8PClvXelo= Received: by 10.14.34.19 with SMTP id r19mr1561478eea.13.1327877334810; Sun, 29 Jan 2012 14:48:54 -0800 (PST) Received: from MacBook-Air-van-Ron.local (i117104.upc-i.chello.nl. [62.195.117.104]) by mx.google.com with ESMTPS id o49sm15924645eeb.7.2012.01.29.14.48.53 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 29 Jan 2012 14:48:54 -0800 (PST) Message-ID: <4F25CCD4.8080009@gmail.com> Date: Sun, 29 Jan 2012 23:48:52 +0100 From: Ron Arts User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 MIME-Version: 1.0 To: pgsql-performance@postgresql.org Subject: Having I/O problems in simple virtualized environment Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -2.6 (--) X-Archive-Number: 201201/111 X-Sequence-Number: 46123 Hi list, I am running PostgreSQL 8.1 (CentOS 5.7) on a VM on a single XCP (Xenserver) host. This is a HP server with 8GB, Dual Quad Core, and 2 SATA in RAID-1. The problem is: it's running very slow compared to running it on bare metal, and the VM is starving for I/O bandwidht, so other processes (slow to a crawl. This does not happen on bare metal. I had to replace the server with a bare-metal one, I could not troubleshoot in production. Also it was hard to emulte the workload for that VM in a test environment, so I concentrated on PostgreSQLand why it apparently generated so much I/O. Before I start I should confess having only spotty experience with Xen and PostgreSQL performance testing. I setup a test Xen server created a CentOS5.7 VM with out-of-the-box PostgreSQL and ran: pgbench -i pgbench ; time pgbench -t 100000 pgbench This ran for 3:28. Then I replaced the SATA HD with an SSD disk, and reran the test. It ran for 2:46. This seemed strange as I expected the run to finish much faster. I reran the first test on the SATA, and looked at CPU and I/O use. The CPU was not used too much in both the VM (30%) and in dom0 (10%). The I/O use was not much as well, around 8MB/sec in the VM. (Couldn't use iotop in dom0, because of missing kernel support in XCP 1.1). It reran the second test on SSD, and experienced almost the same CPU, and I/O load. (I now probably need to run the same test on bare metal, but didn't get to that yet, all this already ruined my weekend.) Now I came this far, can anybody give me some pointers? Why doesn't pgbench saturate either the CPU or the I/O? Why does using SSD only change the performance this much? Thanks, Ron