Asp.net 每天1000个用户,持续10分钟,等于多少并发负载?
有没有一个公式可以告诉我,在每天1000个用户使用一个应用程序10分钟的情况下,我希望并发用户的最大/平均数是多少?1000个用户X 10分钟=10000个用户分钟 每天10000用户分钟/1440分钟=6.944平均并发用户数Asp.net 每天1000个用户,持续10分钟,等于多少并发负载?,asp.net,concurrency,load,Asp.net,Concurrency,Load,有没有一个公式可以告诉我,在每天1000个用户使用一个应用程序10分钟的情况下,我希望并发用户的最大/平均数是多少?1000个用户X 10分钟=10000个用户分钟 每天10000用户分钟/1440分钟=6.944平均并发用户数 如果你想对并发用户进行更好的评估,我建议你在你的网站上放一些。它可以让你准确地读取网站的高点、低点和平均值 这在很大程度上取决于它们的使用模式,没有通用公式可以涵盖这一点 作为一个极端的例子,如果这是一个timecard应用程序,那么在每个工作日的开始和结束时都会有一个
如果你想对并发用户进行更好的评估,我建议你在你的网站上放一些。它可以让你准确地读取网站的高点、低点和平均值 这在很大程度上取决于它们的使用模式,没有通用公式可以涵盖这一点 作为一个极端的例子,如果这是一个timecard应用程序,那么在每个工作日的开始和结束时都会有一个很大的峰值,当人们在不同的项目上工作时,在开始和结束之间会有分散的访问权限,在工作时间之外几乎没有访问权限
你能描述一下你期望的使用模式吗?在最坏的情况下,所有1000个用户同时使用该应用程序,因此最大并发用户数为1000 1000个用户*10分钟=10000总分钟 一天有24小时*60分钟=1440分钟
假设为正态分布,您预计平均10000/1440=6.9个用户同时使用您的应用程序。然而,正态分布并不是一个有效的假设,因为你可能不会在一个晚上中看到大量的用户。 < P>嗯,假设有一个稳定的到达模式,人们访问的站点具有相等的分布,你会有: (用户*访问时间(分钟)/(每天分钟) 或 (1000*10)/1440 大约有7个并发用户 当然,你永远不会得到这样的平均分配。您可以尝试一下预期的模式,并根据该模式分配负载。最好的办法是对用户流量进行适当的采样,监测一段时间的流量。不准确 这种用法会在一天中均匀分布,还是会有导致每个人同时使用10分钟的事件 例如,让我们将通用网站与时间卡输入系统进行比较 当你有很多用户(在工作时间…)时,通用网站会在一天中随着时间的推移而起起落落 时间卡输入系统可能会让所有1000人在15分钟内每天两次点击该系统
简单的数学可以告诉你一个平均值,但人们通常不会表现得“平均”…正如人们普遍说的,答案取决于人们“到达”的时间分布。如果有人在凌晨3:23到达的可能性与上午9:01到达的可能性相同,那么max_concurrent就很低;如果每个人都在上午8:55到9:30之间办理登机手续,则最大并发时间很高(如果响应时间因当前负载而变慢,那么当站点上有很多人时,站点上的“平均”时间会显著增加…) 一个模型的好坏取决于它的输入,但是如果你对使用模式有很好的了解,蒙特卡罗模型可能是个好主意。(如果你能接触到一个有统计学或概率学背景的人,他们可以根据分布参数进行计算,但蒙特卡罗模型对大多数人来说更容易创建和操作。)
在评论中,你说这是一个“类似于维基百科的自助参考应用程序”,但你相对较低的使用率意味着你不能依靠大数字的力量在24小时内“抑制”你的到达曲线 没有足够的信息。所有1000名用户是否都在同一位置/时区?他们都在同一班工作吗?并发使用将取决于所有这些以及更多。假设用户在24小时内线性访问。。。这是一个非常大的假设。同意,但根据所提供的信息,没有太多的事情要做。这是一个自助参考应用程序,在使用模式上类似于Wikipedia.org。所以它的使用是全世界的,全天候的?如果是这样的话,那么我认为你会有较少的高点和低点,因此这个数字会接近7,正如数学所规定的那样。然而,我仍然建议使用谷歌分析来获得更好更具体的数据。此外,如果用户组仅位于世界的一个区域,那么您可能会说,每天16小时X 60分钟=960分钟/天,然后10000/960=10.41并发用户我们在回答中都使用了时间卡应用程序。我在写作时看到了“2个答案贴出”,但直到我的答案贴出后才看到你的答案。我猜这就是一个很好的例子,不是吗?这是一个自助参考应用程序,在使用模式上类似于维基百科。是的,时间卡应用程序是讨论负载分布时的一个经典案例。我肯定我是从很久以前的某个地方的一本书/一篇文章中找到的,但不确定在哪里/什么时候。