Dan*_*air 1 sitecore sitecore6 sitecore-media-library
问题
有没有办法限制默认为每个 Sitecore 站点创建的 MediaCache 文件夹的大小?Sitecore 6.2 文档说这是不可能的,但我们使用的是 6.4.1。
背景
我们有一个网站,该网站部署到三个负载平衡的 Sitecore 服务器。其中一台服务器专门由我们的 Search Appliance 用于为我们的网站内容编制索引。由于它比普通用户更快地浏览我们的网站并消耗更多的数据,我们网站的 MediaCache 文件夹 (/App_Data/MediaCache/website) 填满了该 Web 服务器上的磁盘。我想我们可以在该服务器上完全禁用媒体缓存,但如果可能,我们更愿意在每个 Web 服务器之间保持相同的配置。
想法?
MediaCache 文件夹填满有什么问题?我想您在该服务器上有很多媒体项目和/或小(ish)磁盘大小?我还假设您没有使用 Lucene 进行索引,而是使用与 Google 大致相同的方式访问每个页面并“删除”html 的爬虫?为什么爬虫请求图像,而不仅仅是 HTML 标记?
我不知道任何设置,可能有一些东西,但这意味着在 dotPeek 中查看 Sitecore 内核。
但是,使用现在的内容,您必须更改该服务器上的配置文件。
您可以将 MediaCache 文件夹清理任务设置为更快/更频繁地运行,但您需要将父代理间隔设置为相同,因此这意味着更多的 Sitecore 喋喋不休。
<agent type="Sitecore.Tasks.CleanupAgent" method="Run" interval="00:01:00">
<files hint="raw:AddCommand">
<remove folder="/App_Data/MediaCache" pattern="*.*" maxAge="00:01:00" recursive="true" />
</files>
</agent>
Run Code Online (Sandbox Code Playgroud)
就个人而言,我只会使用补丁配置文件来禁用该文件夹的 MediaCache。但是,如果确实有那么多数据导致磁盘空间不足,那么请确保正确设置了服务器架构,否则将会有大量网络流量。如果您在 3 个服务器之间有一个共享数据库,那么这可能是一个问题。
将以下内容添加到 .config 文件中,并将其放在索引服务器上的 /App_Config/include/ 文件夹中。
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<settings>
<setting name="Media.CachingEnabled" value="false" />
</settings>
</sitecore>
</configuration>
Run Code Online (Sandbox Code Playgroud)
或者对于特定的网站,只需修补 <site name="website">元素并添加cacheMedia="false".
如果您的索引服务器与前端服务器具有不同的 URL,那么您可以考虑让索引服务器输出媒体项目的完整 URL,以便它们指向前端服务器。这样图像就会被缓存在这些服务器上。
| 归档时间: |
|
| 查看次数: |
2165 次 |
| 最近记录: |