【问题标题】:How do you 'spec' a web server to support a given application?您如何“指定”Web 服务器来支持给定的应用程序?
【发布时间】:2008-11-26 17:22:08
【问题描述】:
我很难从 VPS 和专门的托管服务提供商的销售人员那里获得对我的问题的体面回答。我有一组相当简单的要求 - 我如何选择服务器规格/包并确信我已经得到了正确的?是否有要使用的指标——例如每分钟的 Http 请求数?还有其他基准吗?你是怎么处理的?
初始要求是:
- 必须支持一个私有 ASP.NET 应用程序,该应用程序支持超过 200 个用户(可能高达 1000 个)。用户活动将在整个工作日基本持续
- 应用程序比一般的“网站”更密集(但并非过度)
- 用户将上传和下载大文件
- 需要 MS SQL Server 数据库 -(工作组版就足够了吗?)
- 必须支持另外 5 个低流量水平且几乎没有数据库活动的公共域
跟进:
谢谢你们的回应。我可以访问可以配置用于分析的系统,那么任何人都可以推荐任何分析/负载测试工具吗?
【问题讨论】:
标签:
asp.net
deployment
hardware
【解决方案1】:
您可以在此处添加您想要的关于用户数量等的所有数据,您甚至可以使其比此处更量化 - 以这种方式回答这是一个不可能的问题。
真正的答案是:简介、简介、简介。您必须衡量应用程序及其数据库的行为方式,以确定在特定活动级别支持 N 个用户所需的资源。如果您真的知道或有理由相信您的软件一开始就会有不小的负载,那么我给您的最佳建议是研究负载测试工具和服务。
【解决方案2】:
您的要求太模糊,无法做出决定。例如,什么是大文件?什么是低流量级别?
最简单的方法之一就是设置一个测试服务器 + 网络,然后尝试模拟正常负载。
如果您无法设置测试环境,您可能只是在猜测正确的大小,然后在真实系统上进行测试,并根据需要调整您的服务级别。
【解决方案3】:
您需要分析您期望的负载。然后,您应该选择能够满足您预期需求并提供增长路径的提供商。如果您的托管服务提供商能够优雅地处理增长,那么增长会容易得多。
也就是说,如果您的项目是您的供应商做过的最大的项目,或者需要比以往更复杂的硬件,那么您需要寻找更大的人。
当您知道自己想要什么时,要非常具体,但不要对您的要求过于激进。例如,如果您需要 8gb 的内存,请说 8gb。不要说需要 4gb,但 16gb 会很好。
我还要求提供两个系统的报价:您今天需要什么以及一年后您可能需要什么。