wdb:developers:optimizing_wci

This is an old revision of the document!


Optimizing WCI

  • Optimizing of Query Plan
  • Optimizing of Data Reads
  • Distributed Database Cluster
  • Run ANALYZE manually after loading operations
    • Normally ANALYZE is run with the VACUUM ANALYZE, but this may take a while (VACUUM takes a long time). Running ANALYZE immediately cuts down on that time.
  • memcache the WCI backend
    • The performance data we are seeing indicate that the database is not effectively using the memory it has assigned. We see no significant difference, for instance, between performance of a machine with 8GB and one with 16GB of RAM. The idea here would be - basically - to force reuse of RAM for the database installation. A suggested implementation is given below:
      • Set up memcached (or an alternatively main-memory system, but memcached is probably best).
      • Hash Large Object segments into memcached. Since our LOs are immutable (at least in theory - we need to do something about this in practice for WDB), we can simply implement the following for wci.read:
        • If OID in memcached, retrieve object from memcached and extract values
        • If OID is not memcached, retrieve object from database - extract data and cache OID
      • Postgres support for memcached exists: pgmemcache
      • memcached exists in debian
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • wdb/developers/optimizing_wci.1228905717.txt.gz
  • Last modified: 2022-05-31 09:23:29
  • (external edit)