Domino服务器性能问题诊断与排除手册

2021年五大免费云IDE实测:数据科学场景下的真实可用性分析 云IDE是现代数据科学工作流的关键基础设施,其本质是将开发环境迁移至远程服务器,通过Web界面提供Jupyter、终端和文件系统访问能力。核心原理依赖容器化隔离、内核持久化管理网络I/O优化,技术价值在于降低本地环境配置成本、提升协作效率并支持弹性算力调度。典型应用场景涵盖算法原型验证、教学实验、轻量级模型训练及交互式数据分析告生成。然而,面向数据科学的云IDE并非通用代码编辑器的简单延伸,必须满足Jupyter内核稳定性、大文件上传吞吐、Python依赖编译自由度及GPU资源可预测性等硬性要求。本文聚 阅读详情


 
No abstract provided.
Show Table of Contents
Hide Table of Contents
  介绍

如果你已经确定在你的Domino服务器上有性能问题,你现在应该做些什么呢?

性能问题的一个主要障碍是问题的实质总是难以捉摸的。系统某个区域的问题的解决有可能取决于一个完全不相关的区域。因此,在这种情况下,问题真的被解决了吗?即使问题解决了,问题的实质依然很难确定。所以,可能你仅仅是暂时减轻了症状而已。由于计算机系统的复杂性,性能的改善或者恶化可能会以一种平稳的方式进行,也可能是突变式。一个渐变式性能恶化的例子是:当将一些用户添加至一台服务器时,服务器的总体性能逐渐降低。再举一个突变式性能恶化的例子,修改一个应用程序使得它能够存储和读取更大的notes可能导致NSF缓存超过它的最佳使用率,进而使得磁盘IO访问大量增加,最后导致服务器性能恶化。在渐变式的变化中,运行过程中的小变化只会对性能造成比较小的影响,而对于突变式,运行过程中一个小的变化经常会对性能产生巨大的影响。如果有可能,你应该尽量每次只做一个修改,然后密切地监视系统性能的变化情况。

本文不是为了帮助你如何实现性能最优化,而是关注那些服务器性能受系统不利因素影响的问题,这和前者有很大的不同。我们将一步步地对问题进行分析,包括:问题是什么?记录问题的实质,诊断问题并采取修正操作,最后确定我们采取的修正操作是不是有效的。

定位
首先考虑下面这些问题。
1)    问题的现象是什么?问题看起来是什么样的?问题存在的迹象是什么?重点是定义正常的情况。一个性能问题的存在使得服务器运行不正常。为什么我们需要明确这些呢? 很多次,客户确信Domino服务器有问题,但又不确定正常的运行情况是什么样的。比如说,解决一个磁盘性能时遇到的网络问题,但是我们怎么知道对于系统来说正常情况是什么样的呢?是10MB/sec正常还是100MB/sec的速度是正常的?

在处理性能问题时,我们一定要明确地知道系统的正常状态。如果我们通过深入调查能够使得性能变好为什么还要做这件事情呢?那是因为必须找出影响系统的一组变量集,一旦我们找到了这些变量,并作出必要的改动,服务器的平衡和正常运行已经恢复。一旦我们超越解决这些导致偏离正常状态的问题时,我们开始进入了一个不同的舞台上。现在,对系统的作出的改变不是为了恢复之前的平衡,而是要改变系统到一个新的和可能更好的状态。在这一点上,改动变得更加实验性,而不是修正。虽然并不完全是一件坏事,这些改动可能会使得事情更加糟糕,这个问题的范围变得永无止境。

2) 另外一个要问的主要问题是:问题在来自“哪里?” 为了回答这个问题,把你的系统分成两个逻辑独立的区域: 资源和资源管理。我们可以对这些区域再进行划分。对于资源而言,按照CPU,IO和内存来划分。IO又可以再细分为磁盘 IO 和网络IO。 而对于资源管理,划分为应用(比如Domino),操作系统和硬件。为了更加直观,我们绘制了下面这张图:


你会惊讶于有多少人未能沿着这些方针来考虑问题。因为那么多的计算区域会重叠,解决的的也并不一定是问题所在,大多数人将依赖直觉和经验。尽管这样可能有效,经验需要长时间的积累,而且不可能教别人如何来根据直觉解决问题。这样做是不可取的,尤其是对于相对比较新的性能故障排除问题,它有可能会导致误解和错误的诊断。通过对资源和资源管理使用分层方法,我们能够使用每层的逻辑来定位问题来自哪里。

3 )问题的重现率怎样?这相当重要,因为没有某种程度的重复性,我们就没有办法确定问题是什么,如何做出修改。又怎么记录或测试以确定问题是不是真是我们当初所认为的问题?如果问题仅仅发生一次,我们不能区分是它是一个问题或者仅仅是个随机事件..如果我们不能收集关于问题的数据,那么我们没法做出决定。因为性能问题的解决本身就绝不是一个具体的过程,问题的解决过程是一个相当反复的过程,这一点及其重要。如果你能够对照上面的表格指出问题是什么固然是好,但更经常发生的情况是:你在几种可能性之间来回反复,或者根据你的经验和专家意见猜测一种最可能的解决方案。


文档记录
文档记录是任何类型问题判定的关键因素,性能问题也不例外。文档记录使得性能问题的诊断不再是一个随意的过程,而是一个科学分析的过程。当然我们可以根据对问题的猜测来对系统做出修改,但如果你没有证据证明问题所在,基本上也只是猜测而已。考虑到你可能在与一些不同的对象打交道而且试图向你的管理层提出一个行动的意见,问题是:怎么能够让不同的人都理解你所说的。这确实经常发生,并且有时别人理解的和你所想表达的相去甚远。无论如何,为了支持你的观点,你不仅需要确定问题存在于哪个部分,还需要明确性能问题所带来的变化。这样,即使你自己不能确定问题的根本原因,你也具备了跟别人讨论的基础,当然为了表明系统有所变化,你需要保存问题出现之前系统的统计数字。保存这些数据的代价是很低的,但它却会极大地减少你解决问题的时间。尽管没有问题时这样做好像不重要,但是当问题发生时,文档记录就会变得非常有价值。

下面的表格列出了一些在windows平台上有用的故障诊断工具:



NSD, 信号量调试工具, Domino 系统统计(sh stat)在对性能问题进行故障诊断时特别重要。
信号量是用来对资源访问限制的一个变量。例如,用信号量来保护一个文件免受 并发访问。信号量可能是个bit值,其中 1 代表这个文件正在被使用而0 代表这个文件没有被使用。这样如果另外一个过程想使用此文件,在获得这个文件访问权之前,进程先检查信号量,如果没有进程在使用这个文件 (0) ,则将信号量置为1。由于 Domino 系统使用非常多的共享资源,并且多个进程争抢这些共享资源,你可以使用Dimino的debug工具(在notes.ini 中设置debug_capture_timeout = 1),用它可以查看那些占用太长时间处理的信号量请求。这个信息非常有价值,因为当Domino服务器响应很慢时,通常是由于它处在等待中,而利用这个debug工具能够发现什么使得Domino服务器处于等待状态。

NSD工具被认为是分析Domino性能相关问题的利器,NSD 给出服务器状态的所有当前信息(所有线程的调用堆栈、内存信息,配置等等),NSD的两个核心是堆栈信息和内存检查,堆栈信息是平台无关的,不论在什么平台上,NSD都会记录所有Domino进程中每个线程的函数调用路径。通过查看堆栈信息中最上面的函数,我们知道线程的最近的活动信息。 在下面的例子中,nserver进程68个线程中的第53个线程正在休眠,基本上,它没在做什么事情。而nsched进程3个线程中的第1个线程正在试图锁住内存。如果我们想知道它是否成功,可以生成另外一个NSD文件来查看这个线程是不是成功地运行过去。



NSD工具的内存检查能够记录当前Domino服务器内存使用情况,包括系统内存、句柄、网络使用信息、使用中的数据库结构以及文件使用信息。由于不是本文涉及范围,故不在此赘述。但是,我想说的是,内存检查对各种性能问题依然是非常方便的工具。

Domino统计(show stat)可以从统计的角度对当前状态提供深刻的理解。尽管可以用statrep收集历史的统计信息,在Domino控制台键入“show stat”来获取问题发生时的数据往往更加有效。

诊断
在性能故障诊断的这一阶段,你可以开始把每个领域的专家们加入进来。在这里,你的任务是解释观察到的结果是什么,并从这推断需要做些什么。然而这并不像听起来的那么简单。确定问题的根源不仅需要知识,还需要理解在文档记录阶段获取的数据结果。举例来说,一个人收集的统计信息可能表明,内存利用率不是很好(如:拥挤拒绝)。一位在这方面的专家可能认为,问题无疑是缺乏可用内存。而另一位专家可能会觉得水印无关紧要,不太可能是造成问题的原因。这里的主要缺陷是,我们进行的修改影响的只是我们记录的,而不是问题本身。这进一步坚定了需要明确具体关注的问题,当改动产生预期效果的时候你才可以真正地得出结论,它是基于问题的症状,而不是我们认为我们所看到。

在这一阶段的主要障碍是: 要对各个资源的各种资源管理的架构上的局限和操作有一个深刻的理解。当然,这是一个相当广泛的专题。这也就是为什么要组织各方面专家参与的原因。


对于每一块区域,我们需要问自己, “这个问题主要是吞吐量问题还是带宽问题? ”换句话说,是我们限制了能够使用的资源或是资源缺乏,是什么原因造成了这个问题。带宽问题往往体现的是硬件问题,而吞吐量的问题往往是操作系统的或者应用程序的问题。例如,在某些情况下,我们已经看到在使用内格尔算法(数据捆绑在一起,以减少数据包发送)会对性能产生负面影响,因为系统由于人为的拖延而等待。在这种情况下,并不是说是缺乏足够的带宽,而是缺乏带宽利用率。有一点需要牢记的是资源使用效率往往会导致人们认为耗尽资源而实际上它是一个吞吐量问题。如果系统没有了可用的CPU,自然的反应是增加CPU,然而再仔细检查,发现该处理器产生异常多的上下文切换。在这种情况下,造成性能问题的原因并不是没有足够的CPU ,而是CPU使用的方式。

测试

最后,在变更之后,需要测试,看看它们是否起到了预期的效果。我们的测试是相对容易的。因为我们只需要根据已知的常态来确定现状是否已恢复正常。我们也要监测统计数据,这些数据帮助我们发现并关注问题及其根源。统计数据应该与我们所做的变更相匹配。否则就证明这个问题是我们意料之外的非正常问题,必须重新启动程序。
Wiley:International Journal for Numerical Methods in Biomedical Engineering投稿流程 中间过程省略,这个出版社很人性化,投稿的web UI也很好看。上传word之后,一步步跟着走就行,不用填太多东西。不要最后在最后检查阶段,重新上传word文件,这样会导致,之前针对word的操作全部改变。 阅读详情

相关推荐

2024华为OD机试真题-矩阵匹配-C++-OD统一考试(C卷D卷)

​从一个 N * M(N ≤ M)的矩阵中选出 N 个数,任意两个数字不能在同一行或同一列,求选出来的 N 个数中第 K 大的数字的最小值是多少。输入描述输入矩阵要求:1 ≤ K ≤ N ≤ M ≤ 150

goldarmour的博客 271

基于Domino 8的OA系统性能调优解决思路

Domino问题解决思路一、故障分析 通过一周的现场问题分析、故障重现,以管理员只读权限可以看到当前OA系统的性能问题比较严重,但是其计算机CPU/内存等资源占用率并不高,页面加载出现较长等待甚至无反应的状态,面对外部广域网宽带账户登录尤其如此,在部分页面中涉及到的图片及附件加载较多,这种情况下OA无法正常使用。可以确认当前故障是一个典型的由于外部接入、Domino配置、程序设计多种故障点累加造成

夜澜偶作庄周梦 酒后聊为楚客狂 6561

lotus数据备份-服务器

lotus数据备份-服务器

IBM Lotus Domino 8.5 性能评测

本文提供的数据将会表明,升级到 Lotus Domino 8.5 应该是一次有益的体验。您将会发现 I/O 需求、每秒磁盘操作以及每秒传输的磁盘数据都得到了显著减少。此外,处理器利用率差不多降低了 20%。升级到 Lotus D...

cuinaozun7188的博客 693

Domino 服务器建议 – 服务器稳定性篇

Domino 服务器建议–服务器稳定性篇IBM 协作解决方案技术支持团队 2014.3 经过分析2013年发生过的所有Domino服务器稳定性问题(宕机、挂起、内存不足等),我们发现并总结了常见的由于版本老旧,配置错误等原因引发的问题。这些原因在生产中都属于可避免的原因。广大管理员可以根据这个列表,检查服务器的版本以及配置,并及时更正,从而避免一些影响生产环境稳定性的故障。 内容目录 服务器

Gavid0124的专栏 2484

关于解决Domino web服务器(HTTP)宕机和挂起的问题

<br />关于HTTP 的宕机的问题<br />因为HTTP任务的宕机的原因有很多种,所以要解决有关HTTP宕机的问题,需要用到几个文件来定位问题,但是首先就是要确定是否是HTTP进程引起的宕机。这可以通过查看在宕机时产生的NOTES.RIP 的文件来定位的, 而Quincy就是在系统被作为缺省的调试程序安装的,也就是它生成的NOTES.RIP。 <br /><br />有可能引起宕机的原因有:<br />代理或 CGI 坏了的图标(icons)或图像文件(images)<br />损坏的数据属性中不常用

品寂寞、悟人生 5960

domino服务器性能排查,Domino服务器性能问题诊断排除手册.doc

Domino服务器性能问题诊断排除手册Domino服务器性能问题诊断排除手册No abstract provided.ShowTable of ContentsHideTable of Contents介绍如果你已经确定在你的Domino服务器上有性能问题,你现在应该做些什么呢?性能问题的一个主要障碍是问题的实质总是难以捉摸的。系统某个区域的问题的解决有可能取决于一个完全不相关的区域。因此,在...

weixin_34213766的博客 212

Lotus Notes/Domino C API 内存管理机制介绍

Lotus C API Toolkit 是 Notes/Domino 公布出来的一系列基于 Notes/Domino 的 API 编程接口和数据结构,用户可以用来开发自主应用程序来访问 Domino数据库,在 Domino 二次开发中被广泛的应用。Lotus C API 的内存管理机制是其核心内容之一,是开发高效实用的 Domino 应用程序的必备知识。本文主要详细介绍了 Domino

IBM技术期刊 1140

domino平台在服务器端执行代理的问题

问题是在客户那里发现的。用于的需求是在收到邮件后发短信进行提示。于是在用户邮箱里增加一个代理,类型为“新邮件到达后”。测试的时候,一直是用管理员id签名进行的,包括在客户那里现场测试,都没有发现问题。客户确认后,加到模板里,用server.id对模板签名。然后用模板刷新邮件数据库,这时发现,代理不会触发了。回到单位后,经过测试,确认是由于server.id签名的缘故。代理用个人用户身份签名

rugl的专栏 2877

domino server命令

Broadcast message 向该服务器的用户广播消息 Broadcast message usernames 向该服务器的某一用户广播消息 Dbcache Flush 关闭当前在数据库高速缓存中打开的所有数据库。使用此命令可以在高速缓存中维护数据库,例如:备份或恢复数据库。 Drop username 关闭一个或多个服务器会话。如果希望亲眼确认哪些会话已被关闭,则必须在服务器的 NO

biaorger的专栏 3001

Domino中Java编码内存管理

Domino中Java编码内存管理1. 引言2. 解答2.1 Lotusscript创建对象2.2 Java创建对象的过程3. Domino DOM给出的解决方案3.1 常规的内存回收代码3.2 循环语句中获取对象3.3 循环语句中生成对象4. 彩蛋4.1 多态带来的便利4.2 你的操作有误伤,你知道吗? 1. 引言   可能很多开发人员在Domino平台上做过Java编码(如java agen...

Teacher_Tian_2019的博客 798

domino缺省注册服务器或无法访问,Domino服务器挂起时的现象

1。Domino 服务器挂起时的现象:2。Domino 服务器挂起时需要收集的数据:3。Domino 服务器需要在notes.ini中添加的参数:4。有关QNC/Nsd:5。设置Statrep.nsf 的方法:6。有关用Debug_Capture_Timeout=1来收集信号灯的数据信息的问题:7。如何收集memory dump:8。 Windows NT 的性能监控日志的设置方法:1。Domin...

weixin_33490603的博客 486

服务器domino没有响应,domino/unix服务器死机及挂起的数据收集步骤_lotus notes

数据收集前的准备工作:如果近期有频繁出现服务器死机或者服务挂起现象,建议首先做下面三步准备工作.1. 修改Notes.ini文件。建议在Domino服务器的notes.ini文件中增加以下参数:DEBUG_CAPTURE_TIMEOUT=1DEBUG_SHOW_TIMEOUT=1DEBUG_THREADID=1DEBUG_OUTFILE=debug.txt注: 建议在问题解决后,删除前三个参数.2...

weixin_39551366的博客 607

Nsd宕机告分析实例

1.  背景 作为domino从业人员,经常会遇到系统宕机的问题,可是对于很多domino者,看到nsd告的一大堆信息,就像天书一样无从下手。 本人通过下面两种方式进行说明:手动分析、NSD工具分析。Nsd告是技术群一朋友提供,我就结合此实例分析。 2.  手动分析 2.1. 搜索fatal关键字 打开NSD告,输入关键字:fatal,如下图: 2.2. 搜索线程号

Gavid0124的专栏 2396

Domino安装配置系列之六:Domino R8.0.x群集配置手册

1. 服务器要求集群中的所有服务器必须基于 IBM(R) Lotus(R) Domino(TM) Enterprise 服务器Domino Utility 服务器运行。集群中的所有服务器必须使用高速 LAN(局域网)或高速 WAN(广域网)进行连接。也可以为集群通讯设置专用局域网。集群中的所有服务器必须使用 TCP/IP 并处于相同的 IBM(R) Lotus(R) Not

VGOLive 3799

故障诊断 Lotus Domino 的挂起和崩溃

Lotus Domino 构建得非常可靠。但是即使构建得再好的产品,也会遇到导致其挂起或崩溃的问题。当出现这样的情况时,您隔离、分析和修复问题的速度越快,您的用户社团就会越快高兴起来并正常运行,您也因而能够更快地返回去考虑别的事情。 本文提供了一些可用于修复 Notes/Domino 问题的思路。我们首先来定义服务器挂起和服务器崩溃之间的区别,以及如何解决每种问题的例子。我们最后将概述该产品的最

Gavid0124的专栏 5104

开源仿photoshop c#源码paint.net

最终一个开源版本,后面的4.几已经不开源了,做图形的可以下来学习学习

上一篇: 2010 Web开发大趋势
下一篇: Domino服务器任务介绍
onlyjohn
博客等级 码龄18年 17粉丝 13原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值