同时连接到mysql数据库

时间:2014-07-01 04:16:27

标签: mysql python-2.7 mysql-python

我创建了一个接收用户输入并将其存储在MySQL数据库中的程序。我想在几台计算机上实现这个程序,以便用户可以同时将信息上传到同一个数据库。数据库非常简单,它只有七列,用户只能输入其中的四列。

大约有两三百台计算机上传信息(并非总是在同一时间,但可能会发生)。这有多可靠?这甚至可能吗?

这是我的第一个剧本,所以如果你能指出我正确的方向,我感激不尽。提前谢谢。

2 个答案:

答案 0 :(得分:0)

是的,有可能拥有多个mySQL连接。这取决于一些变量。 MySQL可以支持的最大连接数取决于给定平台上的线程库质量,可用RAM量,每个连接使用多少RAM,每个连接的工作负载以及所需的响应时间。

允许的连接数由max_connections系统变量控制。当MySQL与Apache Web服务器一起使用时,默认值为151以提高性能。

重要的是要正确处理连接并适当地关闭它们。您不希望发生冗余连接,因为从长远来看它可能会导致速度减慢。确保在编码时正确关闭连接。

答案 1 :(得分:0)

来自同一脚本的同时连接取决于您处理请求的方式。典型的选择是通过分支新的Python进程(通常由Web服务器处理),或通过单个进程处理所有请求。

如果您要求进程(每个请求都有新进程):

单个MySQL连接应该完全正常(因为活动连接的总数将等于您正在处理的请求数)。

您通常不应该担心多个连接,因为单个MySQL连接(和服务器)可以处理远高于此的负载(当然完全取决于硬件)。在这种情况下,正如@GeorgeDaniel所说,更重要的是你要专注于控制你拥有多少活动进程,并确保它们不会对你的计算机造成压力。

如果您正在运行单个流程:

然而,单个MySQL连接应该足够快以满足所有这些请求。如果需要,您可以考虑将插入分组在一起,以及多个连接。

MySQL很快,应该能够轻松处理200多个正在写入/读取的同时连接,无论您打开多少个活动连接。而且,从MySQL获得的性能完全取决于您的硬件。