LINUX DOTNET      Linux DotNET 中文社区

Linux .NET编程与应用技术之专业网站:www.linuxdot.net !     返回首页    
   
[楼主] 有的网站偶尔突然占用大量cpu资源的原因和解决办法

现象是:cpu不定时的突然上升到100%,并坚持一段时间,直到Request超时后,cpu才会降下来。
经分析,出现以上现象的原因是下面两个方面:
一,用Regex.Replace等方法处理太长的字符串;
二,用System.Web.Script.Serialization名字空间中的JavaScriptSerializer处理太长的字符串。
找到了原因,解决方法就比较简单了:
1、不要用regex处理太长(比如50K)的字符串,如果必须用regex处理长字串,你可以把字符串分切为多个小段进行处理,比如每16K为一段。
2、不要用JavaScriptSerializer对长字符串或大对象进行json处理。你可以用System.Runtime.Serialization.Json进行json处理,或者用其它更高效的json编解码方案进行处理。

作者:yunei   发布时间:13年11月22日   可选操作:删除 回复

[1楼] 回复:有的网站偶尔突然占用大量cpu资源的原因和解决办法

这个正则表达式为什么会在处理比较长的文本时CPU跑得很高没有说清楚,只说了起因和结果。

作者:神一样的男人   发布时间:14年07月18日   可选操作:删除 回复

[2楼] 回复:有的网站偶尔突然占用大量cpu资源的原因和解决办法

作者描述得问题原因一中,问题得症结在于使用了复杂得正则验证表达式,待处理得数据中有特殊字符。

作者:楼下张大爷   发布时间:19年07月25日   可选操作:删除 回复

 
   
   

留言回复:
标题: * 标题必填
作者:   * 请填上你的名字  
操作键:   * 填入几个字母表示是您写的,便于进一步操作
发言内容:
 
发贴者须知:
1、您无需注册即可发贴,但是,贴子内容必须在法律法规和社会公德所允许的范围内;
2、本站专注IT技术,谢绝包括政治、社会、情感等任何与IT技术无关的贴子在本站发表;
3、本站保留对任何贴子进行删除、禁用、更改、举报、追究等所有权利;
 
今天是: 周七  周四  周二  周三  周一  周五  周六