-
Drupal is extremely IO intensive. UN uses Redis in a nonpersistent configuration.
-
What caching does drupal need (what modules / libraries exist for caching)? Currently they are using Redis. Opcache and memcache are other options.
- Recommend: OPcache + Redis (TODO: does Drupal support preloading?)
-
Which caching approach (PaaS/IaaS) is appropriate?
- Recommend: Todo: check cache offerings on Azure
-
Configuring OPcache + Redis is well documented for conventional (VM) installations.
-
TODO: Try to configure with Drupal in container
-
Most interesting links to investigate:
- Drupal 7 caching docs
- Drupal 8 caching docs
- Introduction to Redis
- Memcached wiki
- OPcache docs
- Preloading
- TL;DR Redis > Memcached
- Improving Drupal startup time in containerized environments
- Using OPcache and Redis
- 4x high performance Drupal (DrupalCon)
- Take advantage of PHP 7.4 code preloading
- Speeding up PHP with OPcache in Docker
- Redis on Kubernetes
- Drupal on the IBM Cloud
These containers mount a persistent volume for sites (which change after build and deployment time with user generated content) and connect to MySQL, Redis, and Memcached services from the IBM Cloud catalog (not self-hosted containers inside the same cluster).
- How to easily deploy Drupal 8 on Kubernetes
- Kubernetes, Ingress controllers and Traefik
Widely supported, feature rich, performant, industry standard
Easy to configure, outperformed by Redis
OPcache provides server-side bytecode caching and can be used with Redis
- Setting up a Drupal VM
https://linuxize.com/post/how-to-install-drupal-on-ubuntu-18-04/
- Setting up OPcache and Redis
https://php.tutorials24x7.com/blog/speed-up-php-using-opcache-and-redis
- TODO - OPcache and Redis + containers