OFBiz Performance & Scalability Architecture

Administrator 1
ofbiz-performance-scalability

Hello! Today’s topic is to know how OFBiz handles performance and scalability part. As an developer its very important to know how application is going to behave in increased traffic, is architecture is designed in a way to scale to cater the extra volume.

So, lets figure this out.

ofbiz performance and scalability

Web Load Handling Tiers

  1. HTML Client
    • Caching of pages and pictures on the client is common; for dynamic pages, this should be turned off so that the user always obtains the most recent version from the server.
    • On this level, simple fail-over can be done manually by providing the user with multiple URLs for the programme (not a common approach, and only applicable for internal or back-office applications)
  2. Edge Router (optional)
    • An edge router enables widely scattered server farms in which a user is automatically routed to the nearest (fastest) farm.
  3. IP Accelerator (optional)
    • Sits in front of an HTTP or other server and manages the server’s IP connections while preserving a single connection.
    • Some IP accelerators can be clustered for load balancing on this level and for high availability
    • Some can load balance over multiple HTTP servers
    • Some vendors that do this include: www.alacritech.com, www.netscaler.com, www.packeteer.com, www.redlinenetworks.com
  4. HTTP Server – Apache (optional)
    • Can be skipped by setting up Tomcat to listen on the desired port
    • Has plugins to support connection to Tomcat: AJP12 (ad-hoc connection), AJP13 (maintained connection), JNI (fast direct calls), LB (load balancing) (see the mod_jk and workers howtos for more information)
    • Plugin can support load balancing among multiple Tomcat servers, many Tomcat instances to one Apache instance and one site
    • Plugin can also support multiple virtual hosted sites targeting different Tomcat servers, many Tomcat instances to one Apache instance and many sites
  5. Servlet Engine – Tomcat
    • Many Tomcat instances to one database instance (or pool) is easy because database clients are made to be distributed and can be called from anywhere
    • Data from the database can be cached at this level for highest speed but least shared read access (the best to cache is data that is read a lot, infrequently changed, and that is not sensitive to being stale or out of date)
  6. Database
    • Some databases support clustering, data synchronization and failover, these are most commonly used in larger deployments as database servers tend to be stable
    • Different database tables can be stored on different machines; for example the catalog on one database server and the user information on another and logging information on another

Custom Performance Enhancements

Scaling with traditional hardware and software patterns may not be sufficient or cost-effective in some circumstances, but the applications are well-suited to unique performance upgrades. Larger data sets, which cannot fit into a RAM cache but can be transferred into numerous read-only databases, are an example of this. Multiple transaction-oriented databases can be set up to assist data gathering in write-intensive applications, and the data can later be consolidated in a warehouse for analysis, reporting, and other purposes.

Performance Trade-Offs

Scalability vs. Performance

  • Components must be developed for scalability, or the ability to accommodate a large number of users.
  • When deciding whether to construct a process or data structure for high performance or scalability
  • scalability is preferred even if performance suffers. I
  • f no genuine scaling concerns arise, performance is optimised to the extent required by the application.

Maintainability vs. Performance

Design choices for procedures and data structures can sometimes prioritise maintainability or performance over both, creating a trade-off situation. Maintainability, or customizability, is the most crucial feature in these situations. When a design creates an unjustified decline in performance or when time restrictions are not satisfied, optimization can be applied after the fact to tweak the application, limiting the loss of maintainability and customizability as much as feasible.

Tags:

One Reply to “OFBiz Performance & Scalability Architecture”

Leave a Reply