对于中等可扩展的 Web 应用程序,我需要什么托管服务器配置?我知道这已经不是主题了,我要结束了

发布于 2024-11-24 06:40:35 字数 330 浏览 2 评论 0原文

我有一个使用 SQL Server 2008 的 Microsoft ASP.NET MVC Web 应用程序。当前在单个服务器上运行,性能还算合理。然而,我现在需要部署相同的应用程序来支持更高的数量 - 每周 10,000 个基本订单。

我相信我需要一个单独的数据库服务器和一个或两个网络服务器。

如果我在 1&1 或 Rackspace 等地方托管,我想他们会提供建议。不过,在开始任何讨论之前,我想知道一些想法。

我不确定的一个方面是我应该使用的 Windows 服务器版本、CPU/内存要求、这些托管提供商是否提供负载平衡以及涉及的各种成本。

任何帮助表示赞赏:-)

I have a Microsoft ASP.NET MVC web application with SQL Server 2008. Currently running on a single server, performance is reasonable. However I now need to deploy the same application to support much higher volumes - 10,000 basic orders per week.

I believe that I will need a separate database server and one or two web-servers.

If I host at somewhere like 1&1 or Rackspace I presume they will advise. However I would like some idea before I start any discussions.

One area I'm not sure about is the windows server versions I should be using, CPU/memory requirements, whether these hosting providers offer load-balancing and kinds of costs involved.

Any help appreciated :-)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

唠甜嗑 2024-12-01 06:40:35

嗯,这里似乎不可能给出最终答案。我会做什么:

  1. 理解并记录您的非功能性需求。例如,每周 10,000 个订单意味着什么?考虑每秒事务数、并发数、所需的正常运行时间、存储空间
  2. 您处于拥有可用应用程序的有利位置。执行基准测试(负载测试)来定义您当前的状态基线并回答您今天可以容纳多少订单的问题。如果您收集了这些信息,您可以执行一些分析并查看瓶颈所在。也许您可以通过优化某些 SQL 查询等来提高吞吐量。
  3. 验证您的应用程序架构是否支持横向扩展。也许您有诸如调度程序之类的东西,您必须在集群环境中同步它们。另一个例子是从 Web 服务器内部直接访问文件系统,这可能需要您拥有共享存储(SAN 等)

关于版本/CPU/内存:我真的无法回答这个问题。执行基线测试使您能够了解自己的需求。软件版本实际上取决于您具体执行的操作以及您的环境支持的内容。

一般来说,我看不出不使用 W2K8R2 和 SQL2008 的理由,但同样,这主要取决于您的应用程序架构。也许您使用的某些组件在较新的 MSFT 软件堆栈上不再可用/不再受支持。如果这是一家 Microsoft 商店,您可以看看 Microsoft Azure。

Hm, a final answer does not seem to be possible here. What I'd do:

  1. understand and document your non-functional requirements. E.g. what does 10,000 orders per week mean? Think of transactions/second, concurrent/users, required uptime, storage
  2. You are in the good position of having an application available. Perform a benchmark (load test) to define your current state baseline and to answer the question of how many orders you can accommodate today. If you gathered this information you can perform some analysis and see where your bottleneck is. Maybe you can increase throughput by e.g. optimizing some SQL queries, etc.
  3. Verify that your application architecture supports scale-out. Maybe you have things like schedulers which you have to synchronize in a clustered environment. Another example is direct file system access from within your web server which may require you to have shared storage (SAN, etc.)

Regarding versions/CPU/memory: I really cannot answer this question. Performing your baseline test enables you to get an idea of what you need. Software versions really depend on what you do in detail and what your environment supports.

In general I cannot see a reason to not using W2K8R2 and SQL2008, but again, it depends mainly on your application architecture. Maybe you use certain components not available/supported any more on the newer MSFT software stack. If this is a Microsoft shop you could have a look at Microsoft Azure.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文