I’m facing site downtime when concurrent users reach ~8,000–10,000.
At that point, PHP-FPM gets saturated, and requests start timing out.
After analyzing PHP slow logs, most of the time is spent during session initialization, Redis session reads, and heavy ObjectManager usage.
Observed Symptoms
Site becomes unresponsive under high concurrency
PHP-FPM max children reached
High CPU usage
Redis latency increases
PHP slow logs dominated by session-related calls
PHP Slow Log Excerpts
36221 start() MagentoFrameworkSessionSessionManager.php:123
36209 session_start() MagentoFrameworkSessionSessionManager.php:186
36208 read() MagentoFrameworkSessionSaveHandlerRedis.php:98
36178 usleep() Cm/RedisSession/Handler.php:591
Heavy ObjectManager activity:
97761 create() ObjectManager/Factory/Compiled.php:150
97514 get() ObjectManager/Factory/Compiled.php:79
36734 createObject() ObjectManager/Factory/Compiled.php:108
Customer session being initialized even on frontend pages:
3891 __construct() MagentoCustomerModelSession.php:176
3886 create() Magento_Wishlist/templates/link.phtml
Third-party HTTP calls during requests:
1762 curl_exec() MagentoFrameworkHTTPClientCurl.php
1088 sendToCAPIEndpoint() Facebook Business Extension
What I Suspect
Redis session locking causing request queueing
Customer session being initialized for guest users
Wishlist / Facebook Business Extension triggering sessions
Excessive ObjectManager instantiation under load
My Questions
Is this a known Redis session locking issue at high concurrency?
What are the recommended Redis session settings for 8k+ concurrent users?
Should customer/session-related blocks (wishlist, customer session) be removed or deferred for guests?
How can I prevent third-party integrations (e.g., Facebook CAPI) from running on every request?
Any proven Magento architecture patterns for handling 10k+ concurrent traffic spikes?
Any guidance or best practices would be greatly appreciated.