解决方案 »

  1.   

    用户访问网页, mysql就会创建一次连接。
      

  2.   

    1、每个 http 会话占用一个独立的进(线)程,这样才能保证会话的独立性
    2、请注意加载和连接的区别,动态链接库是只加载一次的,每个使用它的程序都对他产生一个连接
    3、如果你设想若干进(线)程共享一个连接,并不是不可做到的。只是各进(线)程间的调度会异常复杂。你打算怎样标识数据流来保证不会张冠李戴呢?
      

  3.   

    那如果一万个人在很短时间内都访问服务器那就要创建一万个进(线)程?而且每个进(线)程的生命周期就只有用户访问,服务器返回这很短的时间吗?
    每个进(线)程都独立的拥有一个与数据库的链接吗?
    比如$con = mysql_connect("localhost","peter","abc123");这个链接函数,建立一次本地的数据库链接,时间会很长吗?
      

  4.   

    传统web服务器确实是一个请求一个线程,处理完就释放掉
    本身HTTP协议设计的目的就是解决web这种轻量高并发的需求
    nginx貌似不是开线程,有性能更高的解决方案,有兴趣百度下吧
    数据库连接也是线程独立的
    但现在很多地方都在使用“池”,比如内存池,线程池
    意思是在服务器和数据库之间多加一层服务,它预先和数据库申请好N个连接,保存句柄并保持住,前面有服务器要访问数据库的时候,直接使用已经连接好的句柄,用完放回去但不释放