Brett Tasker discusses architecture and performance considerations for scaling Silverstripe applications. Some key points include:
- Silverstripe applications can be scaled through load balancing and microservices architectures. PHP executions are single-threaded so adding more servers allows utilizing multiple CPU cores.
- Web servers like Apache and Nginx support both mod_php and FastCGI/FPM PHP handlers, with the latter being more performant due to running PHP in separate processes.
- Caching with APCu, OPcache, Redis and Memcached can improve performance but each have different characteristics regarding memory usage, garbage collection, and data expiration.
- Database, templates, and ORM queries also impact performance so optimizing