网站CPU占满,微信经常SSL不能建立的错误排查

微信SSL经常建立失败的问题排查

问题描述 及应急方案

  • 问题描述: 使用微信访问时,一段时间过后总会提示SSL连接无法建立【程序中需要获取用OpenId,因此有调用企业微信Api的请求】
  • 应急方案:在Global.asax 文件中加入如下代码让服务器不验证证书,但是感觉用途不大,再重启了应用程序池后表现正常,但是一段时间后又出现ssl建立失败的情况。
protected void Application_Start()
{
 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
            ServicePointManager.ServerCertificateValidationCallback += MyRemoteCertificateValidationCallback;
}

 public static bool MyRemoteCertificateValidationCallback(
            Object sender,
            X509Certificate certificate,
            X509Chain chain,
            SslPolicyErrors sslPolicyErrors)
{
            return true;

}

问题排查

  • 一度怀疑是第三方组件Spnparc插件版滞后导致的,后续升级插件后仍旧无法正常使用
  • 怀疑是SSL的证书无法验证导致的错误,将能正常访问api的服务器的证书导入到目标服务器,问题依旧存在。
  • 偶然情况下,才发现在单点登录这里有个坑,代码如下,我了个去每次单点登录就会把服务器端验证覆盖为一直返回false。
private void GetSSOLoginInfo(string cashost, string ticket, string service, ref string netid)
{
ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate;
}

 private bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
 {
            return false;
}
  • 总结,从别处Copy的代码一定要理解清楚,不清楚的方法一定要百度下问什么要这样写。不然出了错,排查问题都无法下手。

CPU 占满

问题描述及应急方案

  • 问题描述:服务器8核32G内存,虚拟机 应该够强了,网站用户很少,但是每隔3天或者4天服务器内存始终会占满
  • 应急方案: 设置高频的IIS应用程序池回收方案,在网站进程CPU占用超过40%时自动重启网站。

问题排查

感谢Abp架构设计群的大侠们,告诉了排查思路,还在进一步的跟踪中

  • 使用ProcDump 工具保存进程异常情况时的Dump文件,如内存过高,CPU占用过高的情况
  • 使用WinDB进行文件分析
  • 使用LSPV日志分析工具,分析W3W3C的日志,根据访问uri进行分组统计,查看哪块的访问频率最高,问题可能就是由它引起的

原文地址:https://www.cnblogs.com/fengshi1988/p/9729573.html

时间: 2024-10-08 08:59:19

网站CPU占满,微信经常SSL不能建立的错误排查的相关文章

Mybatis 并发执行导致cpu占满的问题

最近线上服务经常 出现cpu达到100%的问题,发现都是执行oracle操作的方法就没有返回.经过排查,最后定位到cpu消耗在以下方法 System.Collections.Generic.Dictionary`2<system.type,system.boolean>.FindEntry (...)System.Collections.Generic.Dictionary`2<system.__canon,system.boolean>.TryGetValue (...)MyBa

门户网站磁盘占满,清除方法

本文参考:http://blog.51cto.com/oldboy/612351编著 #模拟他的场景,防火墙关闭,SELinux关闭 安装Apache服务 [[email protected] /]# yum -y install httpd    #yum安装Apache服务 [[email protected] /]# service httpd restart   #重启apache服务 [[email protected] /]# grep -i   "^#Cu" /etc/h

关于多线程如何占满cpu的问题!

我想,既然大家都是看多线程的特殊用法了,想必应该对多线程有了一定的了解,接下来,我给大家解释一下如何用单进程多线程占满cpu吧. 首先,告诉大家一个常识: 单核环境下,空死循环会导致100%的CPU占有率.双核环境下,CPU总占有率大约为50%,四核是25%左右,那么,接下来就是创建4个线程将cpu占满即可! 代码如下:(刚看的关于C++11标准中的thread库类..) #include <iostream> #include <thread> #include <mute

IOCP大并发svchost.exe(NlaSvc服务)占满CPU问题分析

症状: 使用IOCP开发的SSLSpider(SSL证书扫描服务)运行一会后(4000并发),系统的一个svchost.exe一直满一个CPU内核(共4核). 分析: 此进程运行了4个服务: 停止WinRM.Dnscache都没用,停止NlaSvc超时了,应该是这货在作怪,Google... 真的是它! 「别人遇到的,貌似没找到解决方法 http://www.tomshardware.com/forum/302313-28-usage-minutes-turned-urgent」 暂时先停掉这个

JVM CPU打满问题定位

1.线程不释放,导致Old区占满,系统不停的FullGC 发现应用并没有在进行FGC,而是进行频繁的YGC. YGC也存在异常,S1和S0区域都是从0直接跳到99% 观察堆大小装太发现Young区内存都是不断的从0到99,而Old区在慢慢递增,还未达到FGC的状态.但预计后续会不停的上涨,导致FGC频道,应用无法提供服务. 在发现YGC频繁之后大约3个小时,终于开始了频繁的FGC,Old区满. 以下是堆大小和FGC的情况: 可以看到差不多10秒钟Old区就用满了导致一次FGC,而且Old区大小是

Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算

目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidstat文件 procpidtasktidstat文件 系统中有关进程cpu使用率的常用命令 ps 命令 top命令 单核情况下Cpu使用率的计算 基本思想 总的Cpu使用率计算 计算方法 某一进程Cpu使用率的计算 计算方法 实验数据 某一线程Cpu使用率的计算 计算方法 实验数据 多核情况下cpu使用率的计算 实验一 描述 数据一 数据二 实验二 描述 数据一 数据二 主要问题 Java 系统

shell脚本检测监控mysql的CPU占用率

网站访问量大的时候mysql的压力就比较大,当mysql的CPU利用率超过300%的时候就不能提供服务了,近乎卡死状态,这时候最好的方法 就是重启mysql服务.由于这种事具有不可预见性,我们不知道什么时候mysql的占用率达到300%,还是写个程序定期判断比较靠谱. 学了shell编程,写了下面的脚本: #!/bin/bash cpu=`ps aux | grep 'mysqld$' | cut -d " " -f6 | cut -d. -f1` if [ $cpu -gt 300

实战开发经验: 如何降低CPU占用率

在软件开发和性能测试中,CPU占用率是一个很重要的指标,到底有哪些因素会导致CPU占用率上升呢?又有哪些手段可以降低CPU的占用率呢?本文是"Jhuster的专栏"的<实战开发经验 >系列又一篇文章,简单地总结了一下关于CPU占用率的那些事. 1. 如何测试CPU占用率? 首先,我们要学会如何测试程序的CPU占用率,这里简单地给出最基础的方法: Windows上可以通过Ctrl+Alt+Del组合调出"任务管理器",然后查看指定进程的详细信息即可. Li

模拟web服务器产生的日志占满磁盘故障解决方案

生产环境可能你会遇到web服务器产生的log日志文件占满磁盘的现象,下面给出具体的解决方案 安装httpd web服务 [[email protected] ~]# yum install httpd -y 启动 [[email protected] ~]# /etc/init.d/httpd start 测试 [[email protected] ~]# lsof -i :80 COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME