Skip to content

Commit

Permalink
Merge pull request #776 from humanmade/issue-1354-afterburner-documen…
Browse files Browse the repository at this point in the history
…tation

Add documentation for Afterburner.
  • Loading branch information
mikelittle committed Jun 5, 2023
2 parents 70a8185 + 11174c0 commit b61e36b
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 1 deletion.
20 changes: 20 additions & 0 deletions docs/afterburner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Afterburner

Altis Afterburner is our PHP extension designed specifically to turbocharge your WordPress performance on Altis Cloud.

## Afterburner Cache

Afterburner cache is our object cache drop-in that replaces the existing PHP extension with a high-performing
alternative to turbocharge your WordPress performance.

It works by maintaining a local in-memory object cache, shared across multiple PHP threads, but synchronised with the
main [Redis object cache](./object-cache.md). This reduces the overhead of calls to Redis for the most frequently used
cache items, and in particular, speeds up the WordPress bootstrap process at the start of each request.

The extension keeps in sync with the Redis object cache using PubSub notifications and multi-value data transfers to
maintain the correct state efficiently.

## Safety first features

Should the Redis server disconnect or be unavailable for a period, the local cache will be cleared to prevent
data race conditions.
7 changes: 6 additions & 1 deletion docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,17 @@ Three types of application containers are run within your environment:

* **Cavalcade containers** handle [running scheduled and background tasks](./scheduled-tasks.md). These automatically scale based on the number of pending tasks, allowing huge numbers of tasks to be run simultaneously.

Containers are treated as "throwaway" instances, which contain a copy of your codebase and Altis modules. No data is stored in application containers, allowing problematic containers to be removed and replaced at any time. Containers can also be added or removed dynamically, handling load during high traffic events (known as "horizontal scaling").
Containers are treated as "throwaway" instances, which contain a copy of your codebase and Altis modules. No permanent
data is stored in application containers, allowing problematic containers to be removed and replaced at any time.
Containers can also be added or removed dynamically, handling load during high traffic events (known as "horizontal
scaling").

Traffic is routed to containers through a load balancer. This load balancer ensures traffic is distributed across containers evenly, and ensures that containers being added or removed are seamlessly added to the pool. The load balancer also acts as the firewall and ingress point to your environment, with strict security controls at the network and application layers.

Web containers automatically collect application performance monitoring (APM) data, which is available through the Altis Dashboard.

The application containers use our [Afterburner Cache](./afterburner.md) which improves object cache
performance.

## Database servers

Expand Down

0 comments on commit b61e36b

Please sign in to comment.