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
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general