惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
爱范儿
爱范儿
T
The Exploit Database - CXSecurity.com
量子位
T
Tailwind CSS Blog
T
Threatpost
The GitHub Blog
The GitHub Blog
AWS News Blog
AWS News Blog
云风的 BLOG
云风的 BLOG
K
Kaspersky official blog
P
Proofpoint News Feed
博客园 - 司徒正美
L
LangChain Blog
T
Threat Research - Cisco Blogs
C
CERT Recently Published Vulnerability Notes
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
S
Secure Thoughts
The Last Watchdog
The Last Watchdog
Spread Privacy
Spread Privacy
H
Hacker News: Front Page
T
Troy Hunt's Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
W
WeLiveSecurity
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Proofpoint News Feed
T
Tor Project blog
T
The Blog of Author Tim Ferriss
I
Intezer
P
Privacy & Cybersecurity Law Blog
美团技术团队
N
Netflix TechBlog - Medium
博客园_首页
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Vulnerabilities – Threatpost
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
Google Developers Blog
Attack and Defense Labs
Attack and Defense Labs
T
Tenable Blog
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
腾讯CDC
Microsoft Security Blog
Microsoft Security Blog
A
About on SuperTechFans
Last Week in AI
Last Week in AI

博客园 - 杨义金

Csla One or more properties are not registered for this type unomp 矿池运行问题随记 矿池负载运行监测记录 MySql 数据库移植记录 缓存过期时间的设置 Bitcoin 使用及配置记录 关于 CSLA 服务器部署WCF访问出错的问题 AR 不同 继承映射的问题总结 当事人角色 变更映射策略引起的问题 Castle ActiveRecord 二级缓存使用 异常记录 VS2013 抛出 stackoverflow exception 的追踪 CastleActiveRecord在多线程 事务提交时数据库资源竞争导致更新失败的测试结果记录 WF4.0 工作流设计器 传入参数问题记录? Solving GitHub FetchHead (MergeConflict) in Visual Studio 2013 昆明光标科技有限公司简介 Castle.ActiveRecord 多对多关系 引发的错误处理 String PK StringBuilder,传说就是传说,只有动手实验,才能得出确定的答案 .net mvc Bundle 问题解决方案 .net 4.0 自定义本地缓存策略的不同实现
后台服务运行后无故停止运行,原因不明
杨义金 · 2019-03-21 · via 博客园 - 杨义金

      服务器清空所有数据,启动运行,初开始运行时,一切正常,数据也正确,但运行一段时间后,服务停止运行,数据显示也是错乱的。 

      经过10几天的观察, 发现一旦Redis数据量增长到一定时间后,整个服务莫名地退出,找不到原因,以为是 类中的静态标志位 _IsAutoMonitor 等在不同程序域中引起错乱,但实际观察后,取消注释后,故障现象依旧。 

    重新 清空 Redis数据后,重新启动服务,又可以运行一段时间,但随时时间推移,服务又出现故障。服务从来没有正常运行超过24小时,随时需要人员维护,搞得疲惫不堪。 

    根据现象分析,一定与 Redis相关,但找不到明确的原因,故障无法排除。 

    后重新整理了数据服务器,不断优化代码,希望排除代码中的故障,优化代码性能,得到的结果是,代码性能得到不断的提高,但故障却没有根本排除。

    今天又清空数据鸡窝,出现了以下异常提示:

     StackExchange.Redis.RedisConnectionException: No connection is available to service this operation: EVAL; IOCP: (Busy=0,Free=1000,Min=16,Max=1000), WORKER: (Busy=52,Free=971,Min=16,Max=1023), Local-CPU: n/a 

    再往前追溯,得到以下异常:

    2019-03-21 18:40:35,245 [146] ERROR IBeam.Cache.Redis.RedisProvider [(null)] - InternalGet Key=GqXhzUnqHMxC0LahfrQWCiGVKck=,Error=StackExchange.Redis.RedisServerException: ERR Error running script (call to f_7b41d432ab2c09c0e216c48f24b3a9a6260229b5): @user_script:5: @user_script: 5: -MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.    

    说明是 Redis做快照落盘存储时出错,导致了停止服务。 修正这个问题,可以执行如下命令

    命令行修改方式示例: 127.0.0.1:6379> config set stop-writes-on-bgsave-error no 

    使Reids在写出错时仍然可以继续工作。因此,在实际的运行环境工作中,安装了Reids数据库时,应该首先配置这此项,不能因为 写 错误使用服务停止。在只当作Cache应用的场景下,也可以索性关闭 持久化存储。 

    找到原因后,所有问题得到了还原。 

   另外,Redis 单机缓存数在 100万条时,性能突然下降,导致获取 锁时 等待时间过长,或无法获取锁,此时,将缓存数据清空时,性能恢复。 

   如果应用或服务一切运行正常,但不知不觉中CPU占用突然降低,进程工作正常,并没有任何异常,此时一定是Redis内存占用达到阀值,在进行内存交换,将内存中的数据写到磁盘中,此时Redis的工作效率非常危险。或不可恢复。请参考: Redis 内存引起效率下降  Redis基本概念与配置

    处理方法为:如果只做为缓存使用,可以关闭 持久化存储,并且 设置 Key的过期策略为:allkeys-lru