当前位置:网站首页>Jdbc & Mysql timeout分析
Jdbc & Mysql timeout分析
2022-07-30 05:43:00 【若明天不见】
由于TPC/IP的结构,socket没有办法检测到网络错误,因此应用也不能检测到与数据库之间的连接是否已经断开。如果没有设置socket超时,应用程序会一直等待数据库返回结果。本文会归纳Jdbc及MySQL的timeout参数及描述。
Jdbc Connection

Jdbc timeout

Transaction Timeout
事务超时参数。执行数据提交的时间做限制,超出所设置的timeout值将抛出异常。
Statement Timeout
用来限制语句查询执行时长。通过调用JDBC的java.sql.Statement.setQueryTimeout(in timeout)API进行设置
connectTimeout
配置连接超时时间。通过 Socket.connect(SocketAddress endpoint, int timeout) 方法来配置
如果与服务器(这里指)请求建立连接的时间超过
connectTimeout,就会抛ConnectionTimeOutException
socketTimeout
配置Socket超时时间。通过Socket.setSoTimeout(int timeout)设置
如果与服务器连接成功,即开始数据传输。如果服务器处理数据用时过长,超过了
socketTimeout,就会抛出SocketTimeOutExceptin,即服务器响应超时
Mysql timeout
| 参数 | 描述 | 功能 |
|---|---|---|
| connect_timeout | 连接响应超时时间 | 服务器端在这个时间内如未连接成功,则会返回连接失败。 |
| wait_timeout | 连接空闲超时时间 | 与服务器端无交互状态的连接,直到被服务器端强制关闭而等待的时间。可以认为是服务器端连接空闲的时间,空闲超过这个时间将自动关闭 |
| interactive_timeout | 连接空闲超时时间 | 与服务器端无交互状态的连接,直到被服务器端强制关闭而等待的时间。 |
| net_read_timeout | 数据读取超时时间 | 在终止读之前,从一个连接获得数据而等待的时间秒数;当服务正在从客户端读取数据时,net_read_timeout控制何时超时。即客户端执行数据读取,等待多少秒仍未执行成功时自动断开连接。 |
| net_write_timeout | 数据库写超时时间 | 和net_read_timeout意义类似,在终止写之前,等待多少秒把block写到连接;当服务正在写数据到客户端时,net_write_timeout控制何时超时。 |
| slave-net-timeout | 从库延后同步的时间 | 当slave认为连接master的连接有问题时,就等待N秒,然后断开连接,重新连接master |
interactive_timeout和wait_timeout意义虽然相同,但是有使用对象有本质的区别。interactive_timeout针对交互式连接(比如通过mysql客户端连接数据库),wait_timeout针对非交互式连接(比如一般在PHP中使用PDO连接数据库,当然你可以设置CLIENT_INTERACTIVE选项来改变)。所谓的交互式连接,即在mysql_real_connect()函数中使用了CLIENT_INTERACTIVE选项。
slave-net-timeout在主从同步时从库上起作用;connect_timeout:在获取连接阶段起作用;interactive_timeout和wait_timeout:在连接空闲阶段起作用;net_read_timeout和net_write_timeout:则是在连接执行时起作用。
参考资料:
边栏推荐
- sql concat() function
- 【OS】操作系统高频面试题英文版(1)
- Remember a Mailpress plugin RCE vulnerability recurrence
- [Net Ding Cup 2020 Qinglong Group] AreUSerialz
- phpok网站漏洞利用分析
- [Ten years of network security engineers finishing] - 100 penetration testing tools introduction
- Misc of CTF-image steganography
- Communication middleware Fast DDS basic concepts and communication examples
- C#下大批量一键空投实现
- Remember a traffic analysis practice - Anheng Technology (August ctf)
猜你喜欢
随机推荐
jsonpath
oracle行转列、列转行总结
uncategorized SQLException; SQL state [null]; error code [0]; sql injection violation, syntax error
Dcat Admin 安装
Bypassing the file upload vulnerability
Student management system
信息安全必备神器之kali
3 minutes to tell you how to become a hacker | Zero foundation to hacker introductory guide, you only need to master these five skills
【SQL】SQL 高频面试题英语版(1)
JVM Learning (2) Garbage Collector
Monstache执行monstache -f config.toml出错No processor type exists with name [attachment] [type=parse_exc
Misc of CTF - other types of steganography
在线sql编辑查询工具sql-editor
php-fpm
Flink CDC 实现Postgres到MySQL流式加工传输案例
uni-app使用npm命令安装组件
vulnhub-XXE ctf security question
2022CISCNmisc
CTF之misc-文件隐写
CTF之misc-日志分析







