我的意思是什么才算是一个连接呢?
一个进程连接mysql,mysql分配一个进程去连接PHP的请求,这就算一个连接吗?
举个例子,mysql最大连接数为50,是不是就代表着mysql这个饭馆有50个服务员,对吧?
如果是使用持久连接的话,就代表着这个服务员只给某个特定的顾客(php进程)服务,其他的顾客就无法使用这个服务员,对吗???
我的意思是什么才算是一个连接呢?
一个进程连接mysql,mysql分配一个进程去连接PHP的请求,这就算一个连接吗?
举个例子,mysql最大连接数为50,是不是就代表着mysql这个饭馆有50个服务员,对吧?
如果是使用持久连接的话,就代表着这个服务员只给某个特定的顾客(php进程)服务,其他的顾客就无法使用这个服务员,对吗???
你理解的很对。
但是一般PHP初期并发不高的时候还是采取连接完成断开比较好,因为数据库普遍支持的并发连接都很低,百级别。你说的长链接一般用于连接池技术,由应用代码自己来维护SQL队列,用于彻底压榨数据库性能。
mysql 是你的饭馆总共50个餐位,每使用一个就少了一个。如果你的50个餐位都坐满了人。但是客人还是可以进来到你的饭馆。但是没有地方吃饭。餐位太少(连接太少)。增加连接数就是增加餐位