zoukankan      html  css  js  c++  java
  • 数据库持久连接小记

    本机环境:Apache+PHP+MySQL

    先了解一下背景知识,Apache采用父进程调度多个子进程模式处理请求, 每当客户端向父进程提出请求时,该请求会被传递给还没有被其它的客户端请求占用的子进程。相同的客户端第二次向服务端提出请求时,它将有可能被一个不同的子进程来处理。

    在使用了MySQL持久连接后,子进程会持有一个数据库持久连接,持久连接在脚本运行结束后不会关闭,可以通过mysqladmin -uroot -ppass processlist命令查看.如果在查询时Apache分配了持有这个持久连接的子进程来处理请求,则不需要重新建立新连接,否则新的子进程重新建立持久连接来处理数据库查询.

    下面说说持久连接适用和不适用情况

    1.适用

    如果Web Server需要查询的db只有一个,并且并发量很大,那么可以使用持久连接,这样可以减少关闭和建立连接的次数,提高效率

    2.不适用

    如果Web Server需要查询的db有两个,假设有db1和db2,db1查询量小,db2查询量大,使用持久连接,最大连接数为10.

    此时用户先查询了db1,并且在Web Server的9个子进程都与db1建立了持久连接,那么此时只剩下1个可用连接,此时用户又去查询db2,因为db2的查询量大,却只能使用一个连接,这时效率就会低了

  • 相关阅读:
    python的三个函数map、filter、reduce详解
    python 对文件进行切分行
    sed 命令匹配行操作
    停止学习框架
    JS中双等号“==”使用情况
    JavaScript中数组迭代方法
    JavaScript中replace()方法的第二个参数解析
    Vue生命周期
    JS中浮点数精度误差解决
    大量DOM操作的解决方案
  • 原文地址:https://www.cnblogs.com/zemliu/p/2493615.html
Copyright © 2011-2022 走看看