美文网首页
PHP连接数据库的理解

PHP连接数据库的理解

作者: fujun_195a | 来源:发表于2018-01-09 11:56 被阅读0次

    1、【为什么我们使用短连接】

    我们使用的都是短连接,因为长连接占用资源严重,且造成死锁、阻塞后,后续请求就无法继续了。因为长连接一般都是公用一个连接,如果连接数过多,占用资源就非常多了,但是如果只用一个,当并发量大的时候,如果一个请求处理时间过长,就会导致后面的请求堵塞,所以一般不用长连接。

    2、【使用短连接的方式】

    短连接的模式:会在配置文件中写入最大连接数(mysq.ini中,我们一般都是通过命令修改数量,如set GLOBAL max_connections = 200。我们线上的连接数为5000),当一个请求打到一个cgi进程,就会新建一个短连接到mysql。

    3、【PHP RSHUTDOWN会不会清理长连接】

    php结束阶段的时候我们知道php在执行RSHUTDOWN的时候会释放所有处理本次请求的资源,如申请的变量。那么理所当然的是我们打开的数据库连接句柄也会被释放,但是这只限于我们打开连接的时候使用的是短链接,看官方文档我们可知道如果你打开的是长连接,在请求处理完后php会收留在本次打开的连接(即使你主动关闭也不会关闭而被收留),在下次有打开相同连接的请求时php会把收留的句柄直接给出去,就免去了建立连接的过程效率更高。

    4、【关于PHP-FPM的子进程数和mysql连接数的关系】

    毫无疑问,PHP-FPM的子进程数一定要小于等于mysql连接数,否则会报too many connection。

    5、【连接的理解】

    对mysql的一个连接,其实是对mysql的一个库的连接,也就是说,一个进程,可以长连接多个库(只要不超过连接上限)。

    相关文章

      网友评论

          本文标题:PHP连接数据库的理解

          本文链接:https://www.haomeiwen.com/subject/hrlknxtx.html