- El problema de la saturación del pool es simple: Llega al límite y el S.O. no dará permiso de crear mas conexiones hasta que el pool se vaya liberando. Windows normalmente se toma algnos segndos para declarar libre esa conexión, y ese tiempo a veces es demasiado largo para alta concurrencia y muchas conexiones creadas en poco tiempo.
Otros problemas sobre ese asunto se pueden ver en la documentación oficial de MSDN:
Troubleshooting MDAC Pooling Para evitar el problema a nivel de MySQL se debe usar el MySQL Connector.Net, porque el ODBC y el OleDb no tienen la opción "Pooling=false" para la cadena de conexión. Es propia del de MySQL.
A nivel de MySQL, las conexiones también puede quedar mal cerradas. Eso hace que cada tanto sea conveniente hacer un refresco de estado con
FLUSH HOSTS.
- El problema de overhead se manifiesta cuando hay muchas operaciones de lectura/escritura realizadas en poco tiempo. Si vas a abrir una conexión cada vez que una de ellas ocurra, en una operación masiva el overhead se comienza a notar. Simplemente usa un buen analizador de sistema y verás cómo los recursos disponibles van descendiendo cuando hay demasiadas transacciones.
- La cantidad de conexiones a MySQL dependen de los permisos en la base de datos (ver
MySQL: Sintaxis de GRANT y REVOKE). No es algo que puedas controlar desde la aplicación. En general los problemas de administración de los DBMS son ignorados u omitidos por los programadores, pero en aplicaciones con administración de usuarios en BBDD, son muy importantes.
- Respecto al exceso de tráfico en los servicio de hosting, es un problema conocido. Cuando contratas un servicio (pago o gratuito), ellos te fijan los límites de accesos poría y mes a tu site. Si quieres más accesos, cambia el tipo de cuenta. No es trascendente en una LAN, porque el servidor es una intranet.