2013-10-14 57 views
-2

我知道这是一个非常普遍的问题,取决于很多事情。但是我有一个应用程序,性能从一个请求到另一个请求变化很大。整个解决方案是这样的:什么是ASP.NET Web应用程序的一般硬件要求?

Web应用程序(ASP.NET) - Web服务(WCF) - 应用程序服务器 - SQL Server。

Web应用程序调用webservice,然后调用最终转到数据库的COM服务器(如果需要)。所有这些组件都在不同的服务器上,我不知道如何找到瓶颈。 正如我前面提到的,它有时使用50秒来加载一个页面,而一些请求稍后或更早的时间使用是相同页面的1-3秒。如果代码写得不好或者速度慢,那么对于每一个请求,它总会是正确的?

在服务器上,这是虚拟的,我们有4 GB的RAM和大约100GB的磁盘,有些是64位的,有些是32位的。一些是Win Server 2012,一些是2008年。我正在寻找一些一般建议和最佳实践,为约100名用户设置应用程序。

可以为这类应用程序提供虚拟环境吗?足够4 GB吗? CPU呢?有没有关于这个话题的读物,我可以读?

感谢您的任何反馈!

回答

1

不知道更多关于您的应用程序,我只能猜测,但它听起来像是你的启动成本。根据ASP.NET应用程序的启动代码的重量级别,它可能需要几秒钟到几分钟的时间才能响应第一个请求,之后工作进程已经“预热”,并且留在记忆中。如果你有一个ASP.NET应用程序调用另一个,那么你会遇到两次启动问题。较新版本的IIS(7.5+)具有一个设置(自动启动),允许您在任何请求进入之前指示应启动AppPool,这可能对此有所帮助。

+1

谢谢你的时间,安迪。性能下降发生在用户会话的中间,没有模式,但可能是随机请求。我正在寻找类似于以下内容的内容: - “在Windows 2012 64位服务器上,您至少应具有8 GB的RAM。”那是没有什么可考虑的? –

+0

我必须补充说这是一个Web窗体应用程序,使用可靠会话运行WCF服务。 –

+0

不是。假设这是在Web和AppServer-tier上运行的唯一应用程序,只要你超过了某个演出,你就不会碰到任何奇怪的减速(这往往来自诸如分页到/从磁盘,这发生在低物理内存配置中)。在虚拟机上运行不应该有这种巨大的影响(除非主机本身是一个高度利用的盒子)。 –

相关问题