活着,就一直在忙碌,从未有停歇。

活着,就一直在忙碌,从未有停歇。

最近,忙里偷闲,整理自己的技术知识体系,随便写写,权当Mark。

问题界定

发现问题,解决问题。

案例一:高并发和MongoDB交互

问题描述:Job跑起价时,CPU Load很高。

Dump分析:查看线程调用栈信息,有42个线程在如下状态

说明稍微高一点并发时,记录日志会有问题,反编译可以看到DoAppend时会lock住当前对象。

而代码中采用一个实例,且设置的缓冲区大小为2,重写的SendBuffer方法中和MongoDB交互。

所以,这里是由于频繁的和MongoDB交互引起的高CPU Load。

优化方案:

1.改变缓冲区大小,设置一个较大的值。但如果日志不够多,可能很久写不出来。

2.自定义一个日志池,根据时间和个数的双重维度控制,异步批量的和MongoDB交互。

案例二:接口耗时较多

问题描述:CPU Load很高。

Dump分析:

先查看线程数,再打印出每个托管线程的调用栈信息,没有发现明显问题。

继续,查看线程的耗时,发现有两个线程耗时为30秒,从调用栈信息查看,是同一个接口。

对该接口做压力测试,5个并发时CPU在90%以上,所以是由于接口耗时较多,导致并发时高CPU Load。

性能分析:

用VS Analyze Tool对接口做性能分析,发现重复调用了从redis中取某个特定缓存数据的方法

跟踪代码,发现对于相同的缓存数据,用两种方式重复取: 
1.循环,取单个缓存。 
2.一次取所有缓存。

所以这里取重复了,多了一倍的耗时,通过调试可以验证这个结论。所以,首先要剔除重复。

之后,查看为何从Redis取缓存如此慢,原因是以json字符串格式存取Redis的,所以取时需要反序列化,可以针对这点再考虑优化存取方案。

基础架构

Quartz.NET、ActiveMQ、Unity、Autofac、Git等。

其中,进程间通信,除了WebAPI,还包括:

分布式系列

Hadoop没实践过,只是之前看看书而已,都快忘了。。。

分层

H5和ASP.NET MVC都不是特别熟,用户表现层就不说哈~~

数据持久层

SQL Server、MySQL、Mongodb等。

数据仓储层

通过ADO.NET或EF等ORM工具,实现和数据库的交互操作。

数据缓存层

使用Memcached、Redis或自建缓存系统。

业务领域层

C#

数据结构与算法设计

代码仓库

细节,有时间再慢慢道来吧。。

时间: 2024-10-26 04:13:01

活着,就一直在忙碌,从未有停歇。的相关文章

偏移二分查找

偏移二分查找 系列: 活着,就一直在忙碌,从未有停歇. 今天主要分享一下偏移二分查找算法,至于常用的顺序查找.二分查找.哈希查找.堆查找等,这里就不多说了. 思路:如果数据项规则变化,可先偏移到一个较小区间再用二分查找. 场景:股票的行情日期,末尾数字规则的整数序列等. 举一个例子,如个位数不为3.6.9的三位自然数序列,查找725. 先计算可能的位置x,再根据该位置数据项和要查找的数据项的值的差异,计算索引偏移量,在可能的索引区间中二分查找即可,可以提升二分查找算法的效率,来比较一下: 看起来

《活出生命的意义》读后感

这本书讲的是纳粹时期,作为犹太人,弗兰克尔的全家都被关进了奥斯威辛集中营,他的父母.妻子.哥哥,全都死于毒气室中,只有他和妹妹幸存.弗兰克尔不但超越了这炼狱般的痛苦,更将自己的经验与学术结合,开创了意义治疗法,替人们找到绝处再生的意义,也留下了人性史上最富光彩的见证. 看完这本书,感受最深的一句话是:人无论遭遇任何境遇,都适应得了.初看这句话,有些不认同,但是看到作者和落难同胞同在磨灭人性的集中营中艰苦地寻求活下来的经历,我相信这句话还是有一定的哲理的.人们往往从未觉得过会在绝境中活着并生活下去

当你躲在被窝里点外卖时,看看比你忙碌100倍的领导者们是如何坚持跑步的?!

随着国人的生活水平的不断提升,吃饱穿暖已经不再是人们渴求的事情,更多的目光则被放到了健康上面. 不久前,<中国青少年体育发展报告(2015)>正式公布,显示出的情况令人咋舌,大学生的体质堪忧,在耐力方面甚至赶不上中学生. 年年都有大学生在校进行体测时猝死的情况发生,导致不少大学为避免类似情况纷纷取消1000米跑步测试,改为其他项目,加上大学生基本上是属于放养教育,很少有学生会主动锻炼,也就给健康埋下了极大的隐患. 今年4月份,美网站就评选出了全球最健康的10个国家. 如果你问中国排在第几,我只

创业者:生得无奈,活得憋屈

自阿里巴巴登录纽交所,马云成为中国乃至亚洲首富之后,有关他的传说就从未停止过,一些网友自己瞎编的心灵鸡汤也统统扣到了大帅头上,在最疯狂的时候,你甚至搞不清楚马云究竟是一位企业家,还是一位相声演员,以至于大帅不得不亲自辟谣:有些话,真不是我说的.诚然,企业家明星化有利于传播社会正能量和行业内的创业思路,也能让中国人的信仰多元化,倒也比单纯地崇拜钟汉良.都教授更健康一些,但明星企业家的言论带给普通年轻人的导向性会更强,需要更加谨慎,毕竟,他们都曾取得过成功,也都有钱. 笔者认为,时下中国年轻人掀起的

心灵的旅程:忙碌的意义

http://www.nowamagic.net/librarys/eight/posts/2525前段时间看完了<东京家族>,心里感想很多,却一直没有把它形成文字. 简单说一下剧情: 2012年的一天,年届七旬的平山周吉和老伴富子结伴来到东京.这片繁华匆忙的土地上,生活着他们三个子女,在郊外开办诊所的长子幸一,与丈夫库造共同经营美发店的女儿滋子以及担任歌舞伎美工的次子昌次.一家人久未团聚,自然心间充满喜悦.只是子女长大成人,荷担家业,从早到晚为了生计奔波劳碌,根本无暇带着父母游览东京.老两口

自得其乐地活,才叫快活;生动有趣地活,才叫生活

1 生命的原乡是安静. 人在物质富足的时候,很难让自己安静下来.喜欢喝热闹的酒,唱嬉闹的歌,跳欢闹的舞,去纷闹的地方,过喧闹的生活,没有点响动,人就不踏实,渐渐进入了一种喜欢享受热闹和喜欢观看热闹的状态,觉得热热闹闹的生活才有意思,才风光,才刺激.殊不知,热闹中,你在看别人,别人也在看你,你在看别人笑话,别人也在看你笑话. 生活的热闹,是因为每天闲不住;人生的热闹,是因为一辈子闲不住.一味追逐热闹的人,看不到热闹的真相,满世界喜欢热闹的人,心都在热闹里,而不在自己的心上,也不在过日子上. 其实热

人活着,开心最重要

放下就是释然,忘记也是快乐,人 活着,没必要凡事都争个明白,水至清则无鱼,人至清则无朋.跟家人争,争赢了,亲情没了:跟爱人争,争赢了,感情淡了:跟朋友争,争赢了,情义没了.争的是理,输的是情,伤的是自己.黑是黑,白是白,让时间去证明.放下自己的固执己见,宽心做人,舍得做事,赢的是整个人生:多一份平和,多一点温暖,生活才有阳光. 人, 是活给自己看的.别奢望人人都懂你,别要求事事都如意.苦累中,懂得安慰自己.没人心疼,也要坚强:没人鼓掌,也要飞翔:没人欣赏,也要芬芳.生活,没有 模板,只需心灯一盏

人,是活给自己看的

人,是活给自己看的.别奢望人人都懂你,别要求事事都如意.苦累中,懂得安慰自己.没人心疼,也要坚强;没人鼓掌,也要飞翔;没人欣赏,也要芬芳. 生活,没有模板,只需心灯一盏.烦时,找找乐,别丢了幸福;忙时,偷偷闲,别丢了健康;累时,停停手,别丢了快乐. 平凡生活中,忙碌于工作,安然于家庭.不求事业多大进步,只愿生活甜美温馨;不想生活多么富有,只愿家人健康欢欣. 缘分,不是偶然,要心向心;朋友,不是随兴,要诚对诚;感情,不是儿戏,要惜对惜;相识,不是新鲜,要真对真;懂得,不是随便,要忠对忠.真情本无语

把去世的亲友做成聊天机器人,就能让生者慰藉、死者安息吗? - 看了 寻梦历险记,我的回答是 :是的,他/她永远活在我们心里 www.iremember.com.cn

AppU 如今的我们,之所以离不开手机和互联网,是因为它们确实可以带来信息和方便,让我们轻松记录并分享自己的生活体验,留下了充满回忆的各种文字.语音,各种图片.视频…… 但你有没有想过,当我们逝世时,对于如此之多的数字足迹和虚拟遗产,你有没有认真考虑过如何去处理它们?是就此沉寂在大公司冰冷的数据中心?还是愿意把这样的记忆保存下来,甚至做成机器人,永远陪伴在亲友身边? 其实在英剧<黑镜>第二季的一开头,就已经探讨过一个这样的故事.让 Geek 君没想到的是,一位俄罗斯的创业者真的把她逝去的好友,