On 10/02/2012 10:02 PM, Arvind Singh wrote:
we are all aware of the popular trend of MMO games. where players face each other live. My questions are focussed on reducing load on Game database or Sql queries
In most cases the answer is the same as for any other bursty application: Cache aggressively in the layers between the app front end and the database. memcached is a popular choice.
For really harsh environments use dynamically scaling clusters where you start up new replicas as load goes up, and stop them when load goes down again.
a) How to control the surge of records into the GameProgress table. so that players get response quicker. The Server starts to lag at peak hours or when 1000 players are online
Some combination of async commit, commit delay, etc depending on how critical the data is.
b) How often should we run vaccum full of postgres .
On any modern version you shouldn't need to. Turn autovacuum up so it runs very aggressively and let it do the work.
c) can we set a table to be present in some kind of cache or quick buffer for quicker access, for ex. we often have to authenticate user credentials or lookup tournament status in Table
Use a front-end cache like memcached. -- Craig Ringer -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general