On 2016-11-15 07:02, Mikhail Savushkin wrote:
> Metrics are:
> 
> 
> """
> DBs in Pool  RSS, kBytes                 Added to memory, kBytes
> 0             65,020                     -
> 1             86,576                     +21,500
> 2            105,520                     +19,000
> 3            114,520                     + 9,000
> 4            123,708                     + 9,000
> 5            132,444                     + 9,000
> """
> 
> 
> And regarding the efficiency - thats why we wanna use "maps", possibly stored 
> in some Redis.
> 
> Btw, we would be totally happy to just store the entire Pool in Redis and 
> fetch it from Redis per request, but as far as I get, serializing Pool is 
> practically impossible.
> 
> 
> As long as we're talking about millions of DBs, this straightforward 
> approach wont work.

On a standard Tryton setup, you should have about 500 classes and I
think the standard RPC call will use at least 20 classes. I do not think
you will have a huge gain by limiting the number of classes you setup in
the pool. Indeed I think you should focus on speeding the init of the
Pool for a database (and implement a garbage collection of unused DB).
Also you could try to dispatch request for the same DB to a subsets of
server.

By the way, did you test with this changeset:
http://hg.tryton.org/trytond/rev/f1cbb165eefa

Here are some places where I think there could be improvements:

- Cache the result of create_graph. This is build using only static
  data.

- Cache the module_list to avoid querying the database, needs to be
  cleared when a new module is activated (on update)

- Improve the __setup__ methods:

    - find better than deepcopy:
      http://hg.tryton.org/trytond/file/default/trytond/model/model.py#l46

    - idem for ModelView

- Improve the __post_setup__ methods:

    - _defaults could maybe be removed

    - idem for _fields (or maybe filled on the first uses)


PS: Please do not top-post on this mailing list, see
https://groups.tryton.org/netiquette

-- 
Cédric Krier - B2CK SPRL
Email/Jabber: cedric.kr...@b2ck.com
Tel: +32 472 54 46 59
Website: http://www.b2ck.com/

-- 
You received this message because you are subscribed to the Google Groups 
"tryton-dev" group.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tryton-dev/20161115160526.GP16659%40tetsuo.

Reply via email to