0

我知道这是非常基本的。但是想明确一些mysql连接的概念。我有以下情况。

  • 数据库服务器和 Web 服务器位于不同的位置。
  • Web 服务器正在运行基于文章的网站。
  • 文章数据存储在数据库服务器中。
  • Web 服务器每秒传送 100 篇文章/页。

我的问题如下:

  • Web服务器和数据库服务器之间的单一连接可以处理吗?
  • 默认情况下会创建多少个连接?
  • 如果我假设连接是管道,那么每个连接的 i/o 容量是多少?
  • 数据库服务器的内存、处理器、操作系统和连接数之间有什么关系吗?

提前致谢

4

1 回答 1

0

web服务器和db服务器之间的单一连接可以处理吗?

单个连接可以传递多个请求,但不能同时传递,并且只针对单个客户端进程。因此,最好的扩展方法可能是每个 Web 服务器进程一个连接池,其中线程可以获得已建立的连接来执行它们的请求,并在完成后将连接返回到池中。

默认情况下会创建多少个连接?

取决于客户端语言、MySQL 连接器实现、您使用的框架、Web 服务器配置,可能还有很多其他类似的细节。所以最好的办法是简单地查看 MySQL 服务的网络连接列表,例如使用lsofor netstat

如果我假设连接是管道,那么每个连接的 i/o 容量是多少?

限制因素可能是共享资源,例如两端的网络带宽或处理能力。所以连接的数量不应该对数据传输率有很大的影响。但是,建立连接的开销很大,这就是为什么我建议使用池来减少连接数量的原因。

数据库服务器的内存、处理器、操作系统和连接数之间有什么关系吗?

可能是,如果某些应用程序根据这些参数做出选择,但总的来说,我认为这不太可能。

于 2012-12-11T08:36:54.787 回答