【问题标题】:How many simultaneous connections can an .mdb access file support?.mdb 访问文件可以支持多少个同时连接?
【发布时间】:2009-05-30 17:47:00
【问题描述】:

我有一个网站 (www.soltrago.com) wghere 我使用 .mdb microsoft access 数据库在页面加载时检索数据。我使用 dns less 连接来连接到数据库。我的问题是我的网页可以同时连接多少个?比如每秒有多少人可以查看我的网页?谢谢!

【问题讨论】:

标签: ms-access


【解决方案1】:

这个问题没有单一的答案。

例如,我可以说... 25,这可能是真的,因为在某些情况下,您可以同时针对数据库运行 25 个用户。

或者我可以说 150,它可能是真的。

问题是,我也可以说是 75,但这不是真的,主要是因为你使用数据库的方式存在严重的性能问题。

或者我可以说 2,但这也不是真的,因为您建立的每个连接都会锁定相同的数据,因此您最终会序列化每个访问,因为每个其他用户都必须等待第一个用户完成他的交易,从而解锁数据。

有多少用户是数据库引擎的上限以及您使用数据库的方式的函数。 page I linked to in my comment 说上限是 255。我不能保证,但这听起来很合理,因为访问并不意味着是多用户数据库。当然,它可以处理它,但它并不意味着为成千上万的用户提供服务。

您最好的选择实际上是获取某种负载测试器应用程序,看看您的应用程序何时开始出现严重的性能问题,甚至可能只是崩溃。

除此之外,没有人能告诉你正确的答案。

【讨论】:

    【解决方案2】:

    我想知道为什么您不只使用 SQL Server Express Edition 来代替 - 一个可扩展得多的引擎,但仍然免费。

    (编辑)

    作为额外的奖励;当您的站点“起飞”并且您需要更多的咕噜声(更大、更多 CPU、更多内存、更多故障转移、集群等)时,您只需购买更大的盒子和 SQL Server 许可证,您就可以开始了;你没有 mdb 的奢侈。

    【讨论】:

    • 我刚刚转换了我的 102Mb 访问数据库,该数据库位于一个每天访问量为 3000 次的论坛后面……它很容易导入,现在论坛速度一如既往地快!我只是推迟任务,现在我说:我应该早点这样做! :)
    【解决方案3】:

    您的 Web 应用程序可能只有一个与 MS Access 文件的连接。可以提供的网页数量不同。

    您的标题和问题不匹配。

    MS Access 不是服务器意义上的数据库引擎。您无需准备查询、提交到引擎、获取结果(例如每个网页)。这可以很好地扩展,因为它都是无状态的。

    在这种情况下,它基本上是 Jet 识别的结构化文件 (.mdb)(由 msaccess.exe 使用),因此您的 Web 应用程序在启动时会打开该文件。

    【讨论】:

    • 除非他只做读取,否则我真心希望他不要只打开一个全局连接,否则与事务相关的所有内容都会出现严重问题。
    • 我假设一个全局连接,因为该文件将被锁定以供使用。我怀疑你会像打开/关闭对引擎的数据库连接查询一样打开/关闭 .mdb。
    • 嗯,应用程序打开文件就像打开任何其他数据库引擎一样,Jet 文件 (.MDB) 确实支持同时访问,具有读/写语义、事务支持等。所以它更接近于一个“真正的”数据库,而不仅仅是一个普通的文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多