数据库连接池问题
来源:6-2 koa 访问数据库服务器高性能优化——sequelize 数据库连接池

慕粉3946981
2023-07-02
后端程序只有一个,然后数据库也只有一个,放在一个阿里云服务器中,通过 sequelize 连接到数据库后,后端程序并没有断开,那么可以理解成只连接了一次数据库吗?
不理解为什么创建完连接还要断开,我只有一个后端程序
写回答
1回答
-
keviny79
2023-07-02
(1) 后端程序只有一个,但后端程序可以部署成集群,会备份很多相同版本的后端程序,从2台-上千台后端服务器不等。
(2) 在实际对性能要求高的公司,数据库服务器和后端程序不仅要分到不同服务器上,而且都要做成集群。
(3) 假如现在像京东双11 ,高并发巨量请求中,假如有1万个请求(我是说假如,实际有可能多,也可能少)需要走数据库,一个连接对象只能被打开一次,一个请求进来了打开了连接开始执行具体数据库操作,如果其他请求再进来,就无法使用这个连接对象了,那么就只能排队等待,假如1个请求同时在100ms达到数据库,那么每个数据库请求操作执行1.5秒,那么如果只有一个连接对象,总时长就是(100ms +1.5s)*1万,这个执行时长用户早跑光了,而连接池是批量加工厂,来一个请求就分配一个请求,使用完了也不需要释放的时间和创建的时间,大大提升了性能。
00
相似问题