django 和 mysql 啥是“最大连接数”?
Posted
技术标签:
【中文标题】django 和 mysql 啥是“最大连接数”?【英文标题】:django with mysql what does 'maximum number of connections'?django 和 mysql 什么是“最大连接数”? 【发布时间】:2013-10-19 11:52:46 【问题描述】:我正在编写可以在我的办公室内部使用的 django 简单应用程序。我说可能有 1000 人。我没有任何会话处理,用户处理。它只是 django 中的一个存储/查看过程。
我明白了什么?
1) django closes 会在每次请求时重新打开数据库连接。 2)mysql有一个最大连接数的阈值。
我的问题?
1) 最大连接数 -> 假设有 10 个用户通过他们的桌面浏览器访问我的 URL。这是否意味着 Django 创建了 10 个独立的连接来处理请求?
2) 无论我使用持久性/非持久性,作为一名程序员,我需要注意编码部分吗?即:我们需要像 Django 中那样的检查吗?
if <Connection is valid>
then
Initiate transaction
请澄清我的问题?如果问题非常基本,请原谅我。
【问题讨论】:
对于一个拥有 1,000 名用户的应用,您完全不必担心这一点。 感谢您的回复,但我只是出于理解的目的,我在问。请指教? 【参考方案1】:根据与数据库相关的 Django 文档,Django 在首次进行数据库查询时会打开与数据库的连接。它保持此连接打开并在后续请求中重用它。一旦超过 CONN_MAX_AGE 定义的最大年龄或不再可用时,Django 将关闭连接。
CONN_MAX_AGE 的默认值为 0,保留每次请求结束时关闭数据库连接的历史行为。对于持久连接,您需要将 CONN_MAX_AGE 设置为任何正数秒数。对于无限制的持久连接,请将其设置为 None。
所以第一个问题的答案取决于 CONN_MAX_AGE 标志值的设置。如果将其设置为 0,那么 10 个用户中的每一个都是 yes,它将使用 10 个不同的连接。
在回答第二个问题时,我认为我们不需要检查有效连接,因为我相信 Django 数据库层会执行所有操作。
您可以查看以下网址,那里的所有内容都有描述。
Django Databases
Django Persistent DB connections
希望这会对你有所帮助。
【讨论】:
以上是关于django 和 mysql 啥是“最大连接数”?的主要内容,如果未能解决你的问题,请参考以下文章