FWIW we are investigating the possibility of running multiple instances of 
Tryton on a single server or server farm to serve multiple facilities 
within one geographic region. For larger facilities, they get their own 
physical server with tryton and postgresql installed. However, for smaller 
facilities, and to enable a faster rollout to these facilities, we are 
investigating alternatives to installing physical servers everywhere. 

The issues I would like to discuss are related to the following questions. 
All the questions assume that I want to run 60 tryton instances each with 
approximately 7000 party.party records and we're using a customised GNU 
Health.


   1. As seen above, I use the number of party.party records as a kind of 
   gauge for the size of the database. Is there another metric that one may 
   suggest? Are there any inherent dangers in using this?
   2. In the case of a Tryton server farm, which ways have members of the 
   community used that worked well? 
   - One user per instance, all instances in one OS container? or 
      - One VM container per instance each vm container has its own 
      PostgreSQL + Tryton installation?
      - One VM per instance all talking to a central Postgres
      - Something else?
   3. Are there any recommendations on sizing a server to determine how 
   many instances can run on a given server? Essentially an instance to server 
   ratio.
   4. Apart from trytond, postgres, logs, attachments, json-data, are there 
   other things to consider for a sing tryton server instance?


Some justification and so, it doesn't seem like I'm only asking.

1. I figure since party.party represents the subject of the interaction 
most times. If *P* is the number of party.party records, I figure the 
growth rate of the database is *tkP.* Where t is time and *k* represents 
the average number of "transactions" per party. In the health context this 
could be evaluations. 

2. I'm thinking that it would be better to just run multiple trytond 
instances on the bare server. No VM separation/containment. I wouldn't even 
want to install trytond multiple times. Each different user, one per 
instance, would all run the globally installed trytond.

3. I have nothing here. I have 5 instances on a 4GB RAM VM and it's 
painful. Help and experience requested here.

4. Seriously, with the setup I described in my #2, creating a new instance 
would be (1) create the user, (2) unzip the trytond-user-skel.tar.gz, (3) 
update config and run. 


Thanks for your insight. 

---
MM

PS. Please don't laugh too hard if my idea of large is closer to your idea 
of small. 

Reply via email to