I'm looking for some reference material around possible ways to configure our Data Centre for the best performance configuration and looking at what High-Availability options and recommendations are available. I went looking in the OpenEdge Hive and could not find anything meaningful.
Our DC customers are experiencing Application Performance issues and we are going to have an internal workshop to identify possible performance improvements we can make, what High-Availability options are available to use and what methods we can use to optimise the very high database reads we have at the moment and how to properly load-balance our DC environment.
If anyone has been through a similar exercise and can share either information, or white-papers, best-practices with us, it would be most appreciated.
Is caching in temptables no option (load at appserver startup)?
Houtzager ICT consultancy & development
Me not being an expert but I quickly searched through our Community and did find the following 2. Not sure it's relevant for what you're facing but sharing in case it may help.
As Stefan has indicated, caching information into temp-tables has the potential to significantly reduce the number of database reads your application is making. You do not mention the version of OpenEdge you are running or the structure of your application. As such, some of these suggestions may not apply.
1. Consider partitioning your database by customer id or some other logical values. This may not reduce the aggregate number of database reads, but related data should be closer together.
2. Use AppServer load balancing to run multiple AppServer brokers. This may not directly impact performance, but can give you high-availability options by allowing for multiple AppServer brokers to respond to requests in case one broker goes down.
3. If each customer does not have its own OpenEdge instance, you may want to consider setting up a separate OpenEdge instance for each customer (or group of customers) on its own hardware. If you are limited on hardware, you would be better off with the partitioning scheme mentioned above.
4. You should get a performance increase if you can put a large chunk of your database in memory.
Unfortunately, OpenEdge does not have turnkey solutions that will provide high-availability on the database. The links that Jean provided above point to the ways you can reduce db downtime in your application. Please note that you can probably never eliminate db downtime as many dba type functions still require taking the db down.
I hope this helps,