我有问题的Sitecore (6.1.0)只发布一个项目到我们的两个web服务器之一。
不幸的是,我仍然是Sitecore的新手,还没有做过培训(尽管这应该很快就会发生!)所以我对Sitecore如何工作的了解是有限的(我也是这个项目的新手,所以还不熟悉它是如何设置的)。请容忍我,因为我确信我在我的问题中遗漏了一些显而易见的东西或遗漏了重要的信息。
基本上发生的事情是,客户试图发布一个项目,但无法在实时网站上看到它(他们试图发布至少两次)。我查看了web数据库,它就在那里,然后登录到两个web服务器,在那里我可以看到它在一个上工作,但在另一个上不行。我后来又发表了一次,然后我可以在两者上看到它,但我不确定这是否可能是巧合。据我所知,这种情况以前没有发生过,但我不能肯定。没有错误消息,我猜这可能是以前发生过,但他们的客户没有注意到,因为他们已经得到了它工作的服务器。
我想知道为什么会发生这样的事情,而且很明显,我想要阻止它在未来发生!如果有人有任何想法,我将不胜感激。
我检查了日志,这是我第一次发布的条目:
4764 11:15:07 INFO AUDIT (sitecore\admin): Publish, languages:en, targets:Internet, databases:web, incremental:false, smart:true, republish:false, children:true
ManagedPoolThread #16 11:15:08 INFO Job started: Publish
ManagedPoolThread #1 11:15:08 INFO Job started: Publish to 'web'
ManagedPoolThread #1 11:15:08 INFO HtmlCacheClearer clearing HTML caches for all sites (1).
ManagedPoolThread #1 11:15:08 INFO HtmlCacheClearer done.
ManagedPoolThread #1 11:15:08 INFO Staging server found: Web1
ManagedPoolThread #1 11:15:08 INFO SourceDatabase: master
ManagedPoolThread #1 11:15:08 INFO TargetDatabase: web
ManagedPoolThread #1 11:15:08 INFO Staging server found: Web2
ManagedPoolThread #1 11:15:08 INFO SourceDatabase: master
ManagedPoolThread #1 11:15:08 INFO TargetDatabase: web
ManagedPoolThread #1 11:15:08 INFO Job ended: Publish to 'web' (units processed: 2)
ManagedPoolThread #16 11:15:08 INFO Job ended: Publish
ManagedPoolThread #14 11:15:10 INFO Job started: Sitecore.Modules.Staging.StagingAgent
ManagedPoolThread #17 11:15:10 INFO Starting update of index for the database 'master' (2 pending).
ManagedPoolThread #14 11:15:10 INFO Partial cache cleared on Web1
ManagedPoolThread #14 11:15:10 INFO Staging on server Web1 finished
ManagedPoolThread #17 11:15:10 INFO Update of index for the database 'master' done.
ManagedPoolThread #14 11:15:10 INFO Partial cache cleared on Web2
ManagedPoolThread #14 11:15:10 INFO Staging on server Web2 finished
ManagedPoolThread #14 11:15:10 INFO Job ended: Sitecore.Modules.Staging.StagingAgent我还比较了Web1和Web2上的web.configs,它们是一样的。不确定下一步要检查什么。
更新:这来自web服务器上的日志文件。
没有显示页面的那个:
2180 11:15:01 WARN Memory usage exceeded the MemoryMonitor threshold.
2180 11:15:01 WARN Memory usage: 2,058,067,968
2180 11:15:01 WARN Number of suppressed logs due to the minimum time between log entries: 5
4624 11:15:10 INFO DEBUG: STAGING History storage entries grouped: 0
4624 11:15:10 INFO DEBUG: STAGING History storage entries grouped: 0
2180 11:16:11 WARN Memory usage exceeded the MemoryMonitor threshold.
2180 11:16:11 WARN Memory usage: 2,060,402,688
2180 11:16:11 WARN Number of suppressed logs due to the minimum time between log entries: 6
4968 11:16:37 INFO HttpModule is being initialized显示页面的那个:
776 11:15:08 ERROR Announcement Error
Exception: System.IndexOutOfRangeException
Message: Index was outside the bounds of the array.
Source:
776 11:15:10 INFO DEBUG: STAGING History storage entries grouped: 0
776 11:15:10 INFO DEBUG: STAGING History storage entries grouped: 0
3308 11:15:35 WARN Memory usage exceeded the MemoryMonitor threshold.
3308 11:15:35 WARN Memory usage: 2,632,605,696
3308 11:15:35 WARN Number of suppressed logs due to the minimum time between log entries: 6
3308 11:15:45 INFO Health.PrivateBytes: 2,632,630,272
3308 11:15:45 INFO Health.CacheInstances: 654
3308 11:15:45 INFO Health.CacheTotalCount: 332,491
3308 11:15:45 INFO Health.CacheTotalSize: 417,760,120
3308 11:15:45 INFO Health.Counter('Process\Private Bytes'): 2,632,630,272
3308 11:15:45 INFO Health.Counter('Process\Virtual Bytes'): 5,925,634,048
3308 11:15:45 INFO Health.Counter('Process\Page File Bytes'): 2,632,630,272
3308 11:15:45 INFO Health.Counter('.net CLR Memory\# Bytes in all Heaps'): 1,568,948,208
3308 11:15:45 INFO Health.Counter('.net CLR Memory\% Time in GC'): 1,080,607
3308 11:15:45 INFO Health.Counter('.net CLR Memory\Large Object Heap size'): 343,910,104
3308 11:15:45 INFO Health.Counter('.net CLR Loading\Bytes in Loader Heap'): 15,257,600
3308 11:15:45 INFO Health.Counter('.net CLR Loading\Current Assemblies'): 107不确定异常是否与它有关,因为它是在正确发布的服务器上抛出的?(相同的异常已经在两台服务器上抛出了几次。)
谢谢,
安妮莉
发布于 2011-05-10 10:28:04
我建议您查看登台模块的文档。这是针对Sitecore 6.0-6.2 (PDF link)的
我认为我在使用staging模块时遇到的最大问题之一是HistoryEngine的正确配置。这有助于Sitecore跟踪发布所经历的过程,并有助于清除缓存。在我的例子中,Lucene索引更新需要它,但在这里,它对缓存清除机制也很有用。
直接从上面链接的文档中总结出来:
在您的内容管理服务器和从prod服务器上,确保它位于实时web数据库(例如本例中的webtarget )下的web.config中:
<database id="webtarget">
<Engines.HistoryEngine.Storage>
<obj type="Sitecore.Data.$(database).$(database)HistoryStorage, Sitecore.Kernel">
<param connectionStringName="$(id)" />
<EntryLifeTime>30.00:00:00</EntryLifeTime>
</obj>
</Engines.HistoryEngine.Storage>
</database>
...
<hooks>
<hook type="Sitecore.Modules.Staging.InitializeEngines, Staging.Kernel" />
</hooks>发布于 2011-05-10 00:40:19
您是否可以在未显示更新的服务器上尝试AppPool回收。我们以前也有过类似的事情发生。
如果您升级到Sitecore 6.3,我认为缓存机制得到了改进,从而绕过缓存并查看分布表,以监视项目更改,以便知道何时刷新缓存。
发布于 2013-06-26 22:17:08
这可能有任何原因,如果他们试图检索的数据依赖于基于Lucene引擎的搜索功能,那么这可能是索引问题。
确保在发布项时自动重新生成索引。仔细检查web.config计划时间,同时验证您在CD (内容传送)实例上的设置是否正确: Indexing.UpdateInterval Indexing.UpdateJobThrottle
请参阅sdn.sitecore.net上提供的ScalabilitySettings文档。如果您仍在使用Sitecore 6.1.0,则在发布到多个CD实例时会出现一个常见问题,即使您设置了handler,缓存也不会自动清除
<event name="publish:end:remote">
<handler type="Sitecore.Publishing.HtmlCacheClearer, Sitecore.Kernel" method="ClearCache">
<sites hint="list">
<site>website</site>
</sites>
</handler>
</event>要解决这个问题,要么将你的版本更新到6.6.0更新5-最稳定的版本,要么从共享源码下载Stager模块。这将解决发布和缓存的问题。
https://stackoverflow.com/questions/5939218
复制相似问题