mysql长连接

长连接是干嘛的:  它是做连接复用的;

在openresty中的lua-resty-mysql 里

connect方法去连接mysql时会去ngx_lua cosocket连接池中寻找是否有可用连接

如果有就直接复用;

如果没有就与mysql建立新连接,连接成功后立即将这个连接放入ngx_lua cosocket连接池中。

本人用ngx-lua + mysql 做的一个测试

开启长连接:

[[email protected] ~]#  webbench -c 100 -t 60 "http://www.new.cn/auth/test"
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.new.cn/auth/test
100 clients, running 60 sec.

Speed=47102 pages/min, 392419 bytes/sec.
Requests: 45901 susceed, 1201 failed.
[[email protected] ~]#  webbench -c 1000 -t 60 "http://www.new.cn/auth/test"
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.new.cn/auth/test
1000 clients, running 60 sec.

Speed=228165 pages/min, 1930685 bytes/sec.
Requests: 225810 susceed, 2355 failed.

关闭长连接:

[[email protected] ~]#  webbench -c 100 -t 60 "http://www.new.cn/auth/test"  
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.new.cn/auth/test
100 clients, running 60 sec.

Speed=32749 pages/min, 273873 bytes/sec.
Requests: 32191 susceed, 558 failed.

[[email protected] ~]#  webbench -c 1000 -t 60 "http://www.new.cn/auth/test"
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://www.new.cn/auth/test
1000 clients, running 60 sec.

Speed=46504 pages/min, 280990 bytes/sec.
Requests: 34301 susceed, 12203 failed.

时间: 2024-08-15 11:04:07

mysql长连接的相关文章

mysql长连接与短连接

什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输->关闭连接: 而长连接通常就是: 连接->数据传输->保持连接->数据传输->保持连接->…………->关闭连接: 这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了 什么时候用长连接,短连接? 长连接主要用于在少数客户端与服务端的频繁通信,因为这时候如果用短连接频繁通信

mysql长连接和短连接

什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输->关闭连接: 而长连接通常就是: 连接->数据传输->保持连接->数据传输->保持连接->…………->关闭连接: 这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了 什么时候用长连接,短连接? 长连接主要用于在少数客户端与服务端的频繁通信,因为这时候如果用短连接频繁通信

mysql长连接和短连接的问题 转

什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输->关闭连接: 而长连接通常就是: 连接->数据传输->保持连接->数据传输->保持连接->----->关闭连接: 这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了 什么时候用长连接,短连接? 长连接主要用于在少数客户端与服务端的频繁通信,因为这时候如果用短连接频繁通信

mysql 长连接

PHP的MySQL持久化连接,美好的目标,却拥有糟糕的口碑,往往令人敬而远之.这到底是为啥么.近距离观察后发现,这家伙也不容易啊,要看Apache的脸色,还得听MySQL指挥. 对于作为Apache模块运行的PHP来说,要实现MySQL持久化连接,首先得取决于Apache这个web服务器是否支持Keep-Alive. Keep-Alive Keep-Alive是什么东西?它是http协议的一部分,让我们复习一下没有Keep-Alive的http请求,从客户在浏览器输入一个有 效url地址开始,浏

mysql长连接和短连接的问题

什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输->关闭连接: 而长连接通常就是: 连接->数据传输->保持连接->数据传输->保持连接->…………->关闭连接: 这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了 什么时候用长连接,短连接? 长连接主要用于在少数客户端与服务端的频繁通信,因为这时候如果用短连接频繁通信

php关于mysql长连接问题

1.当 函数 mysql_connect 的前三个参数(server username password)相同,并且第四个参数(new_link)不传递时候,重复调用 mysql_connect 是会返回相同的连接. php代码 <?php $db = mysql_connect('localhost','root','root'); var_dump($db); $db2 = mysql_connect('localhost','root','root'); var_dump($db2); s

PHP和mysql的长连接

关于 PHP MySQL 长连接.连接池的一些探索 PHP连接MySQL的方式,用的多的是mysql扩展.mysqli扩展.pdo_mysql扩展,是官方提供的.php的运行机制是页面执行完会释放所有该php进程中的所有资源的,如果有多个并发访问本地的测试页面 http://127.0.0.1/1.php 根据php跟web服务器的不同,会开相应的线程或者进程去处理该请求,请求完了会释放结果的.也就是php无法从语言层面从页面到页面之间传递一些数据,但是mysql_pconnect跟pdo中的A

使用mysql的长连接

有个资料看得我云里雾里的.现在用自己的言语来总结一下,写文字,能够加深自己的理解.也会在写的过程中帮助自己发现理解方面瑕疵,继续查资料求证. 短链接的缺点:创建一个连接,程序执行完毕后,就会自动断掉与mysqlserver的链接.于是多少次php执行,就会多少次这样的创建和释放过程.频繁地创建和释放连接,比较耗费cpu资源. 长连接就可以避免每次请求都创建连接的开销,节省了时间和IO消耗. 长连接是提高了性能.不过还有一些细节的问题需要解决,即mysql发现一个链接长时间没有执行查询请求,就会自

MySQL之——server保持与MySQL的连接

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47008019 server程序常常要訪问数据库,而且server程序是长时间保持运行的,mysql有一个特点.当连接上数据库后不做不论什么操作,默认8小时候会自己主动关闭休眠的连接.普通情况下非常难预料什么时候程序会运行数据库操作.假设连接被mysql断开了,会出现意想不到的问题.这在server程序中是一种灾难! 保持server程序与Mysql的连接一种方式是改动默认的休眠时