У нас есть веб-приложение с балансировкой нагрузки на двух машинах с Java-сервером (tomcat), ColdFusion и Apache впереди.
Некоторое время назад мы заметили, что файл cfregistry имеет разный размер на обоих серверах: 89 МБ на одном и 44 МБ на другом.
Нормально иметь такой размер? Это нормально у них размер был такой разный?
Заранее спасибо.
По умолчанию администратор ColdFusion настроен на хранение клиентских переменных в реестре. Для систем, отличных от Windows, ColdFusion эмулирует реестр с помощью файла {CF_ROOT} /registry/cf.registry. Этот файл имеет ветки в формате, аналогичном настройке реестра Windows.
Когда приложение использует клиентские переменные, тогда с хранилищем по умолчанию, установленным на Реестр, сервер ColdFusion сохраняет данные клиентских переменных в этом файле cf.registry. По сути, плоский файл cf.registry обрабатывается как база данных. Каждый запрос страницы для этого приложения заставляет ColdFusion анализировать файл cf.registry.
Обычно, если клиентские переменные не используются, размер файла cf.registry обычно составляет несколько КБ.
Переменные клиента лучше хранить в базе данных или в виде файлов cookie. Оба они являются альтернативными вариантами клиентского хранилища в администраторе ColdFusion. Переменные клиента являются временными по своей природе, и срок их действия периодически истекает. Я рекомендую 2 действия: 1) Измените клиентское хранилище по умолчанию на Cookie (или можете использовать базу данных, если приложения регулярно интенсивно используют клиентские переменные) и 2) замените большой файл cf.registry новым «чистым» файлом cf.registry. по умолчанию, чистая установка CF (установите версию для разработчиков на сервере Unix / Linux и извлеките из нее файл cf.registry). Поскольку ColdFusion сохраняет содержимое файла в памяти, лучше всего выполнять подкачку файла cf.registry, когда ColdFusion остановлен, чтобы ColdFusion не записывал содержимое файла из памяти обратно в файл на диске.
Это снизит производительность сервера, если вы продолжите регистрировать переменные клиента в «реестре».
Где настроен ColdFusion для хранения клиентских переменных? Если он настроен на использование «реестра» (я рекомендую настроить его для использования файлов cookie лично), то вполне возможно, что один будет больше другого, если он получает больше трафика или если возвращающиеся посетители в конечном итоге возвращаются на один чаще. server, чем другой, и их клиентские переменные хранятся дольше, чем одна может со временем стать больше.