对于一个IIS服务器,每秒30个呼叫是多less?

我们有一个RIA应用程序,可以在一个Intranet环境中同时使用300个客户端。 他们一起向IIS(asp.net)发出30次调用(实际上是60次,但通过两台IIS服务器调用负载均衡)。 有一半的调用正在获得一个资源(cachingconfiguration文件被使用,所以大部分时间caching命中),另一半是保存数据到一个sql服务器。

检索资源是通过一个aspx页面完成的。 通过WebORB,asp.net和Sql Server保存数据。 所以WebORB(amf解码,GZIP,…)需要一些处理。 我们也使用Spring.NET,一些容器对象有一个请求范围(不是很多)。

IIS服务器 – >虚拟机,4个CPU,2 GB RAM。 它们基于Windows 2008 x64 SP2企业版。

Sql Server 2008被使用。

显然,两个IIS serers的CPU一直在60-70%左右。

现在,我的问题是,60-70%的负载是可以接受的,我们怎么可能把这个降低到更低的百分比(也许只使用一个IIS服务器)? + 2 GB内存足够了吗?

资产可能高达20MB,但平均大约30kb。 (用30kb左右的资产达到60-70%的负载)。

用weborb保存的数据非常小(2kb),只是一个对象。

取决于CPU上的LOT。 我的意思是物理的。 有一点需要注意的是,VM内的CPU测量可能closures。 得到它检查外面 – 如何加载是服务器。 根据虚拟化的CPU你可能不会真的有很多的负载….并看到CPU完全加载。

  • 负载60%到70%是可以接受的。 显然你可以处理近两倍。
  • 拉姆看起来很低,但是 – 你必须决定(如:是2GB的使用?你不会说)。
  • 使用一个服务器不会更好,除非你不能设法分配粘性(即每个客户端只有一个服务器),大多数负载平衡器支持(大多数 – 但大多是在这里足够好)。

永远不要忘记,GZIP是一个CPU猪。 如果你在一个内联网,你可能会更好地closures压缩和使用快速networking(1GB – 应该是标准的)。

除此之外,我很抱歉,没有更多的可以说。 我将附上一个分析器,并找出CPU负载的花费。 也许(如果你是幸运的)你有一些非常糟糕的代码,你可以优化。

对于一个IIS,每秒30个呼叫是多less? 地狱不,那没什么。

我们的内容pipe理网站在高峰负载期间已经超过300个呼叫/秒…再次没有什么。

但正如TomTom所言,有很多因素需要考虑。 主要的是应用程序。