提供大量文件的最佳实践

目前我们有一个Windows Server 2008 R2作为域控制器和文件服务器

我们服务大约600万JPG到4个IIS服务器,然后再提供给networking用户。

问题是我们每天都在服务器上获取内存警报。 我们当前的服务器从单个驱动器(LUN)提供这些文件。 我们在光盘上的文件数量也有问题。 主文件表将随着我们继续添加更多图像而变得太大。

我们目前的计划是:

  • 将文件服务器移至单独的虚拟机
  • 添加4个或5个单独的驱动器(LUN)来提供这些文件
  • 到今年年底,将会有大约1500万张图片(比现在的数字多一倍)

我的问题是:

  1. 什么是服务文件的最佳做法?
  2. 我们可以移动到一个带有4个或5个驱动器(LUN)的单个服务器,还是应该移动到2个文件服务器,每个驱动器都有3个驱动器?

你如何获得内存警报? 你做过任何stream程分析,看看内存使用是否超出了规范? 请记住,LSASS和caching将增长到物理内存的点。

更新:

在Windows Server 2003下没有得到警报并不让我感到意外,因为它不像Windows Server 2008那样高效地使用RAM。 您希望在使用服务器时尽可能多地使用内存,这就是为什么单独监视内存使用率是无用的度量。 从Windows Vista开始,Windows使用尽可能多的RAM。 您可以通过启动资源监视器并查看内存选项卡来在Windows 7上看到相同的行为。 这里是我的机器目前的图像:

Windows 7资源监视器

注意我只有64MB免费! 这是好事。 (它曾经是2MB,但我必须刚刚closures了一些东西)。 注意,蓝色条显示了1369MB的备用RAM – 这实际上是文件系统中的caching,如果我在应用程序中需要更多的RAM,那么这就是页面的来源。

所以你需要知道的不是使用多less内存,而是每个应用程序使用多less,以及该特定应用程序的内存使用是否正常。

确定(产生警告警报)的好方法是查看每秒的内存使用情况和页面错误。 如果你有过多的页面错误,并且你有很高的内存使用率,并且你的待机内存很低,这很可能是一个问题。 (在文件服务器页面上,由于文件正在服务文件,故障并不是一个可靠的指示器,因此会产生页面错误,所以在设置阈值之前,

希望这个关于内存监视的简要概述有所帮助。

您应该移动到2个(或更多)或更多的服务器以实现冗余。 如果你负载均衡,那么更简单的方法是进行维护。 如果你有3台服务器,但只需要2台服务器,那么你的维护窗口也可能在白天。

我还会在这些服务器之间分配驱动器(LUN) – 再次是为了冗余。