I’m looking for a few brave and kind souls that would like to help beta test Object Caching in OpenVBX.
The current release of OpenVBX only supports APC and it only supports it for API query results. This new build supports local memory, database (MySQL), APC & Memcache. This new build shows great performance increases when either APC or Memcache is available.
Cache is implemented in two general areas:
General Object Cache
The first is a general object cache for OpenVBX. This layer is for objects used in OpenVBX like Flows, Users, Devices and Settings. Cache settings are manually configured using a cache config file in the OpenVBX config directory.
This layer has a 3 possible modes:
- Local (single page load memory, default). This layer is used when either APC or Memcache is not available. It will simply create an cache for the current page load. While it doesn’t provide a drastic increase in performance, it does reduce a few database hits during a single page load.
- APC. This layer uses the standard PHP APC library (http://pecl.php.net/package/apc). This build was developed and tested using APC installed via PECL.
- Memcache. This layer uses the PECL Memcache library (http://pecl.php.net/package/memcache not the Memcached library though support for both would be easy to add if there’s actual demand). Multiple memcache server use is supported via the config file. This build was developed and tested using Memcache installed via PECL.
The 2nd is an API cache. At this time the API cache uses only the database to cache the results of API requests. The API Cache adds a new table to the database. Despite being named API Cache, this cache layer can be used for just about any data that should be transient in nature.