Наш администратор ISA-сервера говорит следующее:
Кэш ISA работает следующим образом: когда сервер ISA получает запрос на доступ к веб-сайту, первым делом он проверяет кеш, чтобы увидеть, может ли он загрузить его локально. Поскольку размер кеша в настоящее время составляет 50 ГБ, сервер должен проверить весь этот файл кеша, прежде чем: а) напрямую вернуть результат пользователю или б) передать запрос в Интернет для получения веб-страницы (и, в свою очередь, разместить его в кеше). Необходимость синтаксического анализа такого большого количества данных, вероятно, замедлит доступ в Интернет.
Наличие кеш-памяти меньшего размера было бы полезно, поскольку ISA-сервер может быстрее обрабатывать запросы, поскольку ему не нужно постоянно проверять локальный диск в течение длительных (с точки зрения компьютера) периодов времени.
Он советует уменьшить размер нашего кеш-файла с 50 до 10 ГБ.
Хотя я согласен с его мнением, конечно, это можно довести до крайности: если у меня нет любой cache, конечно, я могу пропустить эти ужасно медленные диски и просто заходить в хороший быстрый Интернет каждый раз, когда получаю запрос.
Возникает вопрос: каков оптимальный размер файла кэша диска ISA-сервера? Имеет ли ISA-сервер удобный индекс или хеш-таблицу кэшированных запросов, так что неважно, насколько велик файл кеша, он сможет найти смещение любого кэшированного содержимого, которое вы хотите, внутри этого файла за O (1 ) время?
На самом деле это не кажется правдоподобным, поскольку кеш, как вы подозреваете, правильно проиндексирован. Он повторно индексируется при запуске службы, когда ISA проверяет содержимое кеша. Настроение расплывчато и обобщенно и не учитывает индексацию объектов или часть данных кеша, которые, например, также находятся в памяти, - но ничто не может быть отказано без реального тестирования, так что кто знает? Уменьшение его до 10 ГБ, скорее всего, тоже не повредит? ^^
Однако производительность кеша зависит от множества других факторов. ISA Server 2004 по умолчанию будет использовать 10% памяти для кэширования недавно использованных объектов кэша, в то время как старые объекты, очевидно, будут только на диске. Было бы желательно увеличить память и обеспечить по крайней мере 1 ГБ для веб-кеша - и да, дисковая система для кеша будет иметь сильное влияние на общую производительность кеша, - но размер действительно не имеет значения.
Есть некоторая информация о том, что ISA 2000 имеет ограничение на размер файла базы данных в 10 ГБ и что он создает несколько файлов при превышении этого лимита, но ничего не говорит об отрицательном влиянии этого на производительность. Есть несколько сообщений, рекомендующих не более 10 ГБ кеш-памяти в этой версии, потому что «больше не поможет», а не потому, что это замедлит.
Вот некоторые общие советы по оптимизации производительности кеша на 2004 г.