工作总结
文章平均质量分 65
Weiguang_123
这个作者很懒,什么都没留下…
展开
-
从一次 FULL GC 卡顿谈对服务的影响
问题的发现:看到线上的服务机器一些节点时不时地有TCP报警 ,所以我们断定是TCP的连接出现了问题。让我们来回顾一下TCP的三次握手和四次挥手,借网上的一个图: sinai full gc with promotion failed > image2015-9-16 22:15:46.png" height="250" src="http://wiki.sa原创 2015-09-19 18:58:35 · 11795 阅读 · 6 评论 -
关于服务性能优化思考
一、服务指标1.应用性能指标 QPS/QPM Response Meantime TP 90/95/992.机器性能指标1)内存和线程指标JVM本身提供了一组管理的API,通过该API,我们可以获取得到JVM内部主要运行信息,包括内存各代的数据、JVM当前所有线程及其栈相关信息等等。各种JDK自带的剖析工具,包括jps原创 2017-03-06 23:58:35 · 5703 阅读 · 1 评论 -
分布式理论:关于一致性讨论
一、回顾分布式特点 1.集中式特点 一台或多台计算机组成中心接节点,所有的数据都存在中心节点上。Client端只负责数据的展示,Server处理数据的存储和处理。显而易见,优点是结构简单容易部署,无需考虑服务多个节点部署,更不用考虑节点之间的协调。缺点是系统性能以来中心节点的性能,无法水平扩展。 2.分布式特点 对等:各个节点没有主次之分原创 2016-07-31 14:34:58 · 3952 阅读 · 0 评论 -
教你如何对ios崩溃(crash)日志做符号化
一、场景 客户端的开发流程都相似,如android,搞ios开发就要不停地发版本,随之而来的就是各种版本的崩溃日志(称为crash log)。如果不能好好地管理,那么开发人员很快就会在crash log和版本的海洋里迷失方向。解决崩溃问题是移动应用开发者最日常的工作之一。如果是开发过程中遇到的崩溃,可以根据重现步骤调试,但线上版本就无能为力了。 国内,一原创 2016-02-23 20:28:43 · 23385 阅读 · 1 评论 -
ios的crash分析工具
最近搞ios的crash log的分析,总结一下:搞iPhone开发就要不停地发版本,随之而来的就是各种版本的crash log。如果不能好好地管理,那么开发人员很快就会在crash log和版本的海洋里迷失方向。作为后台平台的开发,时刻为客户端着想,操醉了心的。MAC上有个免费的小工具——dwarfdump,可以简便地检测出app和相应的dSYM。使用起来很简单。分三步即可。原创 2015-11-22 17:27:18 · 1301 阅读 · 0 评论 -
平台日志服务实现思路
*/一背景二目标三初步实现思路1)参考COS组记录日志系统(基于文档的存储)2)基于数据库的存储思路(1)K-V形式存储(medis)(2" style="margin:0px; padding:0px; font-size:24px; font-weight:normal; line-height:1.25; border-bottom-color:rgb(204,204,204)">原创 2014-12-17 17:45:15 · 3760 阅读 · 0 评论 -
线上事故处理总结
1、线上有些机器cpu idle(cpu空闲时间)和load avg(系统负载)报警;这个跟业务逻辑还不太一样,如果业务逻辑错误还可以看 error日志,看看zabbix上监控的上游服务时间相应等等 sinai一次线上问题排查总结 > image2015-8-5 23:49:56.png" src="http://wiki.sankuai.com/download/attachment原创 2015-08-06 23:51:59 · 2903 阅读 · 0 评论 -
java 基础整理
1.线程和进程的关系:进程是独立的运行环境,可以看作一个程序或应用,线程可以看作进程中的一个任务,几个进程可以同时有多个线程在运行,线程可以被称为轻量级进程,线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2.多线程编程的好处:多线程并发可以提高程序的效率,CPU不会因为某个线程需要等待资源而进入空闲状态,servlet通过多线程方式运行其service方法,一个实例原创 2015-06-21 20:53:53 · 906 阅读 · 0 评论 -
如何成为一个系统/服务/模块的owner
(本人表示任重道远,惭愧)基本技能:各种应用技术 by Ominent Shopper Helper" style="color:rgb(53,114,176); left:auto; top:auto; border:0px!important; bottom:auto!important; clip:auto!important; clear:none!important; d原创 2015-10-11 23:02:29 · 2284 阅读 · 0 评论 -
java 锁机制
死锁是两个甚至多个线程被永久阻塞时的一种运行局面,这种局面的生成伴随着至少两个线程和两个或者多个资源。线程以向第一个对象获取封锁这种方式运行。但是当它试着像第二个对象获取封锁时,它就会进入等待状态,因为它已经被另一个线程封锁住了。这样,在线程引起死锁的过程中,就形成了一个依赖于资源的循环。为了分析一个死锁,关注下应用中的Java线程转存,可以使用VisualVM收集资料或者jstack原创 2015-06-22 02:55:18 · 721 阅读 · 0 评论 -
面试经验
1.常用的哈希算法,怎么解决冲突?好坏?2.java中,hashMap的数据结构?怎么实现?为什么要这么实现?java中concurrentHashMap数据结构?怎么支持并发?put()、get()、remove()实现?怎么利用锁机制?3.四层网路机构?tcp/Ipx协议?tcp和udp的区别?tcp三次握手四次分手的过程?以及各个状态?其中time_w原创 2015-07-10 00:29:49 · 982 阅读 · 0 评论 -
教你如何对产品做AB测试(abtest)
我们经常会面临多个设计方案的选择,比如app或pc端某个界面的某个按钮是用红色还是用蓝色,是放左边还是放右边。传统的解决方法通常是集体讨论表决,或者由某位专家或领导或文青来拍板,实在决定不了时也有随机选一个上线的。虽然传统解决办法多数情况下也是有效的,但A/B 测试(A/B Testing)可能是解决这类问题的一个更好的方法。所谓 A/B 测试,简单来说,就是为同一个目标制定两个方案(比如原创 2015-10-17 13:16:57 · 123664 阅读 · 0 评论