标签: sitecore

重复调用dbo.TempGetStateItemExclusive3

我正在调查我们的网站使用SQL服务器管理会话的问题.该网站是基于sitecore CMS的asp.net webforms.我们在各种环境中拥有相同的代码,例如QA,登台和制作.

在生产中,我们所看到的是,我们定期获得快速增长的CPU使用率,这与CPU与服务器的流量无关.随着这个CPU峰值,我们看到网络I/O相应的峰值.

我们的监控软件不区分流量到互联网和流量到数据库服务器; 但是,我们在数据库服务器上看到的内容实际上是dbo.TempGetStateItemExclusive3在asp会话数据库中每秒数百次调用,所有这些都是针对相同的会话ID,并且没有相应数量的页面请求进入Web服务器.

使用相同的代码和配置,我们根本看不到其他环境的这种行为.我们也没有看到其他会话ID,只是这一个特定的.

从数据库中删除行只会导致使用相同的会话ID重新创建该行.

UPDATE

我在事件日志中发现了这个错误:

Violation of PRIMARY KEY constraint 'PK__ASPState__C9F49290145C0A3F'. Cannot insert duplicate key in object 'dbo.ASPStateTempSessions'. The duplicate key value is (sessionidwiththeproblem). The statement has been terminated.
Stack trace:

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean\ breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand\ cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler,\ TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,\ RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,\ RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,\ RunBehavior runBehavior, …
Run Code Online (Sandbox Code Playgroud)

sql-server asp.net sitecore session-state

13
推荐指数
2
解决办法
9466
查看次数

避免在重建期间删除当前的Lucene.NET索引

我是Lucene.NET的新手,但我使用的Sitecore CMS构建的开源工具,它使用Lucene.NET来索引来自CMS的大量内容.我昨天确认,当我重建我的索引时,当前索引文件擦除干净,所以任何依赖于索引的东西都没有大约30-60秒的数据(完整索引重建的时间).是否有最佳实践或方法使Lucene.NET在完全重建新索引之前不会覆盖当前索引文件?我基本上认为我希望它写入新的临时索引文件,当重建完成时,这些文件会覆盖当前索引.

我在说什么的例子:

  • 建立新的指数(约30秒)
  • 索引有大约500个文件
  • 使用代码访问索引中的数据并在网站上显示
  • 重建指数(~30秒)
    • 现在读取数据索引的任何代码都不会返回任何内容,因为索引文件被覆盖了; 导致网站未显示任何数据
  • 重建完成:数据现在再次可用,数据返回网站

提前致谢

c# lucene lucene.net sitecore

12
推荐指数
1
解决办法
2083
查看次数

是否可以从命令行或Web上下文之外构建sitecore数据包?即使用nant

Sitecore包向导可用于构建包含本地Sitecore实例的数据和文件的包.

是否可以从命令行构建Sitecore包(仅限项目,不需要文件),或者在网站的上下文之外?我们的想法是使用Nant创建Sitecore数据包.我知道Hedgehog TDS,但这个问题针对的是现有的Sitecore api可以做些什么.

msbuild nant build-automation continuous-integration sitecore

12
推荐指数
1
解决办法
3068
查看次数

HTTP错误503.2 - 服务不可用.正在超出serverRuntime @ appConcurrentRequestLimit设置

我在IIS 7上设置了Intranet SiteCore网站,随机抛出以下错误消息

    HTTP Error 503.2 - Service Unavailable
    The serverRuntime@appConcurrentRequestLimit setting is being exceeded.
Run Code Online (Sandbox Code Playgroud)

要解决此问题,我进行了以下更改

  • 将应用程序池myrjetAppPool的队列长度从1000增加到65535.
  • 修改了Machine.Config,将ProcessModel元素的requestQueueLimit属性增加到100000
  • 通过运行将appConcurrentRequestLimit增加到10000

    C:\Windows\System32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
    
    Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误.任何帮助都非常有用.

iis iis-7 sitecore

12
推荐指数
2
解决办法
3万
查看次数

Sitecore Lucene:内容传送服务器索引未在发布时更新

我使用默认设置创建了一个自定义搜索页面sitecore_web_index,一切似乎都有效,直到我迁移到具有单独内容管理和内容交付服务器的测试环境.CD服务器上的索引没有在发布时更新(CM服务器确实),如果我从控制面板重建索引,我会看到更新.所以我相信索引和搜索页面正常工作.

该指数正在使用该onPublishEndAsync策略.Sitecore搜索和索引指南(http://sdn.sitecore.net/upload/sitecore7/70/sitecore_search_and_indexing_guide_sc70-usletter.pdf)第4.4.2节说明:

这个策略正如名称所暗示的那样.在初始化期间,它订阅该 OnPublishEnd事件并触发增量索引重建.使用单独的CM和CD服务器,此事件将通过EventQueue对象触发,这意味着EventQueue需要启用该对象才能使此策略在此类环境中工作.

我的web.config有 <setting name="EnableEventQueues" value="true"/>

同样来自搜索和索引指南:

处理
策略将使用EventQueue初始化的数据库中的对象: <param desc="database">web</param>
这意味着该策略成功执行有多个标准:

  • 必须<databases />在配置文件的部分中指定此数据库.
  • EnableEventQueues设置必须设置为true.
  • EventQueue预配置数据库中的表应具有日期晚于索引的上次更新时间戳的条目.

我不确定<param desc="database">web</param>设置,因为CD服务器的发布目标(和数据库ID)是pub1.我尝试更改webpub1,但是然后服务器的索引都没有在发布上更新(因此它已更改回web).

该系统最近从Sitecore 6.5升级到7.2,因此有几个索引使用Sitecore.SearchAPI,这些索引在发布时更新.

EventQueue考虑到多个发布目标,数据库参数是否出错?还有其他我想念的东西,或者可能是我可以比较的CM - > CD环境的工作示例吗?

TIA

编辑:如果我不想在周五和今天坐在我旁边的同事可以确认,我会认为我会发疯.但现在,CD服务器正在获取索引的更新,但CM服务器没有获得更新.什么会使CM服务器现在无法获得更新?

lucene sitecore sitecore7

12
推荐指数
1
解决办法
9589
查看次数

检查当前语言中是否存在项目?

我有一个Sitecore解决方案,其中启用了3种不同的语言.在页面顶部,有一个指向每种语言的链接.单击此链接后,将以所选语言显示您当前所在的页面.

但并非所有页面都翻译成所有语言.因此,如果我站在第x页上的英语,并且此页面仅提供英语和德语,但不提供中文,则不应显示中文链接.

所以问题是 - 如何检查当前项目是否具有特定语言的版本?

sitecore

11
推荐指数
2
解决办法
2万
查看次数

如何删除sitecore项目的语言版本?

我想我无法使问题比标题中的内容更明确; 在内容编辑器上,您可以单击标记项并添加新的语言版本,但不知道如何删除它

在版本功能区上,您可以删除版本号,但它似乎不允许您选择当前版本的单一语言进行删除

sitecore sitecore6

11
推荐指数
1
解决办法
4898
查看次数

如何找出与项目相关联的Sitecore站点?

我们有一个多站点解决方案(站点1和站点2),我需要能够确定我们获取URL的项目(在LinkProvider中,是自定义的)是否属于当前上下文站点(Sitecore.Context.Site),或者是不同网站的一部分.有没有办法做到这一点?

基本上,我们只需要能够找出该项目与哪个站点相关联.我们可以在该值与当前上下文站点之间进行比较.

sitecore

11
推荐指数
3
解决办法
1万
查看次数

无法获取管道:loadVisitor(domain :)

如果有人意识到这个错误,请告诉我:

无法获取管道:loadVisitor(domain :)

在任何浏览器上运行该站点时发生此错误在此输入图像描述

asp.net sitecore

11
推荐指数
1
解决办法
2190
查看次数

Sitecore发布和滞后时间长达30秒

我们在Sitecore安装中发现了一个有趣的问题.与我们的其他环境相比,任何自动发布或计划发布作业都需要很长时间.在每个单独的工作之间,似乎有5到30秒之间的滞后.在我们的其他环境中,我们看不到任何滞后,因为这些环境中的两个发布作业之间的差异小于一秒.

到目前为止,我们已经尝试了以下方法 -

  • 我们已经检查了有问题的环境和其他环境之间的差异,并且没有看到配置或代码有任何差异.
    • 缓存在所有环境中都非常相似.
    • 我们尝试启用并行发布,但这并没有太大的区别.
    • 在有问题的环境中索引也非常快,并且每个作业在一秒钟内完成索引.

此时,我们不确定导致此问题的原因.任何的意见都将会有帮助.

谢谢

publishing sitecore

10
推荐指数
1
解决办法
262
查看次数