【问题标题】:Testing for 100,000 concurrent users on a single machine在单台机器上测试 100,000 个并发用户
【发布时间】:2015-12-11 04:28:53
【问题描述】:

我的代码在 ASP.NET MVC Razor C# 中,数据库是 SQL Server 2012。现在代码在 localhost 上。

好的。在迁移到服务器之前,我想测试网站设计应该能够扩展/支持 100,000 个并发用户。

问题:我只是一名 .NET 开发人员。有什么方法可以在单机上测试 100,000 个并发用户?

【问题讨论】:

  • 建议进行压力测试,看看一台 web 机器/sql 服务器在哪里。缩放是设计/架构的一部分,而不是代码。回答这个问题涉及的因素太多,但我猜你的 100,000 目标不太可能。另外,我认为单元测试和并发测试是不兼容的。分开做。
  • @Atoms:先生,我为错误的标题道歉,它是为并发用户进行测试。

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 c#-4.0


【解决方案1】:

简短回答:是的,您可以在 Visual Studio 中创建负载测试(使用 VS Ultimate/Enterprise 测试工具)没有问题。

这里有一些基本信息:https://msdn.microsoft.com/en-us/library/vstudio/dd293540(v=vs.110).aspx

但是……

您的机器将无法同时处理创建 100,000 个请求,更不用说在单台机器上为这些请求提供服务的站点/应用程序了。

您确实需要设置一个模拟您的生产实施的暂存环境,然后使用负载平衡和所有的花里胡哨对其进行部署和负载测试。否则负载/压力测试将浪费时间,您将从测试中获得的统计数据将显示超过约 1,000 个并发用户的 100% 超时(这根本不代表您的应用程序的速度,只是速度你的机器)。

然后,一旦您说过登台环境设置。我建议也将负载测试分布在 5-10 台 PC/VM 上。这将提供最佳的“真实世界”结果。

【讨论】:

  • 先生,非常感谢。我正在检查上面的链接。
【解决方案2】:

根据您的问题,如果没有测试软件的帮助,您将无法测试拥有 100,000 名用户的应用程序(Web 或桌面应用程序)。您愿意执行的测试类型称为容量测试或压力测试,其中有多个用户同时访问应用程序,我们会观察应用程序的行为。这可以通过使用由 HP 开发的名为 HP-Performance Center 的软件来完成。但它是一个许可软件。你不会免费获得它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2014-12-20
    • 2012-05-28
    • 2015-06-11
    • 1970-01-01
    相关资源
    最近更新 更多