On 07/11/2011 11:36, Lucas Mocellin wrote: > Hi everybody, > > I'm having some issues with PostgreSQL 9.03 running on FreeBSD 8.2 on top > of VMware ESXi 4.1 U1. I hope your hardware is Nehalem-based or newer... > The problem is query are taking too long, and some times one query "blocks" > everybody else to use the DB as well. Ok, so multiple users connect to this one database, right? > I'm a network administrator, not a DBA, so many things here can be "newbie" > for you guys, so please be patient. :) First, did you configure the server and PostgreSQL at all? For FreeBSD, you'll probably need this in sysctl.conf: vfs.hirunningspace=8388608 vfs.lorunningspace=6291456 vfs.read_max=128 and for PostgreSQL, read these: http://www.revsys.com/writings/postgresql-performance.html http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server > I always think the bottleneck is disk I/O as I can see from the vSphere > performance view, but the virtual machine is using exclusively the SATA > disk with no concurrency with other machines. I don't see why concurrency with other machines is relevant. Are you complaining that multiple users accessing a single database are blocked while one large query is executing or that this one query blocks other VMs? If the single query generates a larger amount of IO than your VM host can handle then you're probably out of luck. Virtualization is always bad for IO. You might try increasing the amount of memory for the virtual machine in the hope that more data will be cached. > how do you guys deal with virtualization? any tips/recommendations? does > that make sense the disk I/O? any other sugestion? Are you sure it's IO? Run "iostat 1" for 10 seconds while the query is executing and post the results.
Attachment:
signature.asc
Description: OpenPGP digital signature