Cuando hay demasiadas conexiones simultáneas a MySQL, todos los sitios Apache-PHP no pueden conectarse a la base de datos

Cuando hay demasiadas conexiones simultáneas a MySQL, todos los sitios Apache-PHP no pueden conectarse a la base de datos

Estoy usando RDS de Amazon y ajusté la configuración de MySQL al máximo. Sin embargo, todo el sitio dejará de conectarse a MySQL cuando el número de conexiones alcance un cierto número de actividades. Es una configuración de red interna, sin límite de ancho de banda y una instancia ECS de centro de datos de Windows Server 2019 de 128 GB de RAM y 32 núcleos.

Los siguientes son mis archivos MPM, Httpd.conf y PHP.ini. ¿Podría deberse a la siguiente configuración?

**MPM ConfigurationX**
<IfModule mpm_winnt_module>
    ThreadLimit       2000000
    ThreadsPerChild   2000000
    MaxConnectionsPerChild 0
    MaxRequestsPerChild    0
</IfModule>

**HTTPD2.4 Configuration**
KeepAliveTimeout 180
MaxKeepAliveRequests 10000
Timeout 3200
FcgidMaxRequestLen 51200000
<IfModule mpm_winnt_module>
    MaxConnectionsPerChild 10000000
    ThreadsPerChild 1920
</IfModule>

**PHP7.0 Configuration**
max_execution_time = 1800
max_input_time = 60
memory_limit = 65536M

Todos llaman desde la misma instancia, comparten el mismo archivo php que inicia la conexión a la base de datos. Aproximadamente 20 conexiones compartidas por 20 sitios, abriendo 200 páginas al mismo tiempo. La base de datos rechazará la conexión. La siguiente es la configuración de RDS innodb_io_capacity 18446744073709551615 innodb_io_capacity_max 4294967295 innodb_read_io_threads 64 innodb_write_io_threads 64

Instancia RDS única con 20 instancias de base de datos.

Código PHP utilizado para iniciar la instancia de base de datos para uso global del sitio.

$db1 = new MySQLi("mysql.abc.com","testing","abc#123","testing",3306);
$db1->query("set names utf8");
unset($db2);
$db2 = new MySQLi("mysql.abc.com","testing","abc#123","testing",3306);
$db2->query("set names utf8");

información relacionada