Re: Building an home computer for best Poker Tracker performance - Mailing list pgsql-general

From Craig Ringer
Subject Re: Building an home computer for best Poker Tracker performance
Date
Msg-id 506E57C0.4060706@ringerc.id.au
Whole thread Raw
In response to Re: Building an home computer for best Poker Tracker performance  (serraios <serraios1@aol.com>)
List pgsql-general
On 10/05/2012 03:58 AM, serraios wrote:

> *2. My Software Setup.* I am using Windows 7 x64, but the database -and my
> poker playing- is installed in a Virtualbox VM running Windows XP x64. I
> have assigned 1 processor (out of 16) and 12 GB of RAM in that machine.

Well there's your first problem. Get rid of the virtualisation.

> *4. What prompted me to consider a hardware upgrade.* My Intel drive has
> gotten full, so I ve decided to upgrade to either a 240GB Intel 520 or the
> new 256GB Samsung 840. This will allow me to move the VM to the new extra
> drive probably giving me some extra speed boost.

Nowhere near as much as getting rid of the VM entirely would probably
give you.

> This question is prompted by the advice in this thread that my memory
> allocation should be larger than my database size. Since my database is
> 31GB, do I really need more than 32GB of memory for my poker VM, if I want
> to have top notch performance?

That depends on the query patterns and how much of the data in the db is
"hot" - ie continually queried.

If you're really interested in that you can check out the buffer
statistics, etc.

http://www.postgresql.org/docs/current/static/pgbuffercache.html

You'll also want to look at index utilisation etc using the Pg
statistics views.

http://www.postgresql.org/docs/current/static/monitoring-stats.html

> *8. That pesky CPU. * As I ve said I ve only got 1 CPU out of 16 devoted to
> my poker playing VM. Why? Pokertracker has a housekeeping function which
> allows you to optimize the database. So I ve ran several experiments and I
> noticed that the less cpus I assigned, the faster the process finished. For
> example with one CPU assigned to the VM, the operation ends in something
> like 4 min. But with 3 or 4 it takes up to 15 minutes. I am guessing that
> this has to do with the turbo mode of the 860, but I can't tell for certain.

More likely virtualisation issues and/or contention if the app's badly
designed.

> a. What amount of memory is optimal for my 31GB database regardless of cost?

The lesser of ∞ and the most memory you can possibly convince your
computer to use when you put an insane amount in. For a 31GB DB plus
other programs I imagine 48 to 64GB would be enough of it that Windows
would be unable to find enough to do with it.

Your ideal is to have **everything** you might possibly access on your
disk cached in RAM, plus enough space for an active working set that
it'll never push any of the cached stuff out of RAM.

Of course, you might find that 1/2 or 1/4 that amount still gives you
80% of the performance. It's really hard to say, that's why the rule of
thumb is "as much RAM as you can afford".

> b. How many cpu processors should I assign to my VM?. Should I try assigning
> 2-4 CPUs for actual play? And if I do, is there an objective way to measure
> performance?

Get rid of the VM.

--
Craig Ringer



pgsql-general by date:

Previous
From: Moshe Jacobson
Date:
Subject: Re: Re: What's faster? BEGIN ... EXCEPTION or CREATE TEMP TABLE IF NOT EXISTS?
Next
From: Ben Chobot
Date:
Subject: Re: Trajectory of a [Pg] DBA