连接池和线程池的区别?
- 连接池是被动使用,请求和回收都是用池去管理(对象池也是被动使用)
- 线程池是主动使用,线程是主动不断地从队列取任务执行
连接池一般是结合线程池一起使用
mysql连接池具有重连机制
mysql_ping
mysql_options(m_mysql, MYSQL_OPT_RECONNECT, &reconnect); // 配合mysql_ping实现自动重连
怎么更好的设计连接池?
(1)重连次数统计
(2)总连接次数统计
(3)峰值连接次数,比时间间隔1 5 15秒统计一次,连接峰值数量供后续的性能评估
(4)超时机制,阻塞,非阻塞
参考:druid pool