我有Django RestFrameWork应用程序,其中我们正在使用MySql连接的sqlalchemy库。
engine = create_engine('mysql+mysqldb://username:password@hostaddress/'
'DBname', pool_recycle=1800,
connect_args={'connect_timeout': 1800}, pool_size=10, max_overflow=10, pool_pre_ping=True)
connection = engine.connect()随着API使用率的增加,Mysql正在创建新的连接,threads_connected的数量也在不断增长。在达到最大值后,它会抛出Too many connections错误。在show processList中,许多进程将处于sleep模式。如果我们重启应用程序,所有的连接都会被重置。下图显示了no.of connections v/s time。如何解决此问题。

发布于 2019-09-25 14:53:49
您必须在使用完连接后关闭它们,因为如果您不这样做,连接将保持打开状态,直到lot服务器将其关闭,这可能需要很长时间。最佳实践是使用连接池。因为打开和关闭连接太繁重,会降低性能。即使您正在使用连接池,也必须在使用完连接后将其释放。
https://stackoverflow.com/questions/58080545
复制相似问题