我们的 ISA 服务器管理员这样说:
ISA 缓存的工作原理如下:当 ISA 服务器收到访问网站的请求时,它采取的第一步是检查缓存,看是否可以在本地加载。由于缓存当前大小为 50Gb,因此服务器必须在 a) 直接向用户返回结果或 b) 将请求传递到 Internet 以检索网页之前检查整个缓存文件(然后将其放置在缓存中)。必须解析这么多数据可能会减慢互联网访问速度。
具有较小的缓存将是有益的,因为 ISA 服务器可以更快地处理请求,而不必长时间(以计算机术语)不断检查本地磁盘。
他建议我们将缓存文件从 50GB 减少到 10GB。
虽然我同意他的观点,但可以肯定的是,这可以走极端:如果我没有任何缓存文件,我当然可以跳过那些可怕的慢速磁盘,每次收到请求时都可以上网。
因此,问题是:ISA 服务器磁盘缓存文件的最佳大小是多少?ISA 服务器是否有一个方便的缓存请求索引或哈希表,这样不管缓存文件有多大,它都能在 O(1 ) 时间?
这听起来不太合理,因为您怀疑缓存已正确编入索引。它在服务启动时重新索引,ISA 验证缓存的内容。这种情绪是模糊的和笼统的,并且没有考虑对象索引或缓存数据的一部分也存在于例如内存中 - 但是没有实际测试就无法否认,所以谁知道呢?将其减少到 10GB 很可能也不会受到伤害?^^
但是,缓存的性能取决于许多其他因素。默认情况下,ISA Server 2004 将使用 10% 的内存来缓存最近使用的缓存对象,而较旧的对象显然只会在磁盘上。增加内存并确保至少 1GB 用于 Web 缓存是可取的 - 是的,缓存的磁盘系统将对一般缓存性能产生很大影响 - 但大小真的无关紧要。
有一些关于 ISA 2000 的数据库文件限制为 10GB 的信息,并且当超过该限制时它会创建多个文件 - 但没有关于对性能产生负面影响的信息。有几篇文章建议此版本的缓存大小不超过 10GB,因为“更多不会真正有帮助”,而不是因为它会减慢速度。
下面是一些关于在 2004年优化缓存性能的一般技巧。