Websphere共享日志编写器(com.ibm. js. as. sharedlogwriter)



我在生产环境中遇到了非常低的速度。我正在分析系统,我发现的原因是系统中的所有线程都在等待访问websphere环境中的"Shared Log Writer"。这可能是什么原因呢?

什么是Websphere共享日志写入器(com.ibm.ejs.ras.SharedLogWriter),它是否管理写入Websphere的日志?以及为什么它会阻止应用程序。我的应用程序也使用log4j日志,大部分日志都写在log4j日志文件中,如果有一些错误是因为写在磁盘上,那么它应该在log4j进程中,而不是在Websphere共享日志写入器中。

这可能的原因是什么?我是否过多地使用websphere日志文件来报告错误?请给我您的反馈

您可能将过多的数据记录到日志中,但这也可能是由不同进程之间的i/o操作同步带来的延迟。顾名思义,它是一个共享日志写入器。当使用WAS ND时,同一节点(profile)的多个进程写入同一个文件,因此需要同步。

在管理术语中,此文件被称为"服务日志",默认位于${LOG_ROOT}/activity.log中。

在大多数情况下,你并不是真的需要这个日志,你可以禁用它而不会产生严重的后果。

服务日志可通过以下方式关闭:http://www-01.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.base.doc/ae/ttrb_cfgsvclog.html

您可以使用wsadmin脚本全局为您的单元格。

在wsadmin jython:

for sl in AdminConfig.getid('/ServiceLog:/').splitlines():
    AdminConfig.modify(sl, [['enabled', 'false']])
AdminConfig.save()

广告模式

如果我没有利用这个机会宣传WDR库,我就不会是我自己,它极大地提高了WebSphere脚本的可读性和可维护性。因此,使用WDR,脚本如下所示:

for sl in getid('/ServiceLog:/'):
    sl.enabled = 0
save()
sync()

最新更新