- 博客(12)
- 收藏
- 关注
转载 高性能服务器架构
这是我最初接触性能优化的启蒙文章,仔细体会,可以秒杀公司所谓的高手!原博客地址:http://blog.csdn.net/marising/article/details/5186643High-Performance Server Architecture高性能服务器架构来源:http://pl.atyp.us/co
2015-06-18 12:19:58 699
转载 同步/异步与阻塞/非阻塞的区别
原文链接 http://www.cppblog.com/converse/archive/2009/05/13/82879.html同步/异步与阻塞/非阻塞的区别 我喜欢用自己的语言通过联系现实生活中的一些现象解释一些概念,当我能做到这一点时,说明我已经理解了这个概念.今天要解释的概念是:同步/异步与阻塞/非阻塞的区别.这两组概念常常让人迷惑,因为它们都是涉及到IO
2015-06-08 12:07:35 474
原创 实时大数据处理性能瓶颈
1、业务数据特性 1、数据源突然流量增大; 对于这点,曾见有人将数据缓存到硬盘上,待流量变小时再发出去。我认为这样并不是解决问题的根本办法,因为在流量波峰的情况下,这样的串行IO会使效率更低。我的经验是,使用足够大的内存缓冲,并且提高内存的使用率,一般1Gb流量,有个10MB内存就够用了。 2、业务处理过程的不均匀; 业务处理过程不均匀往往是
2015-05-26 23:57:23 3226
原创 实时大数据处理性能瓶颈的测试
曾去一家公司面试,他们就问到我有没有用过什么性能瓶颈的测试工具,当时还真没去好好了解。回来后搜索了一下,发现Interl公司的VTune是一款不错的软件。不过要做到像VTune这样细致的,似乎很难。在我的经验里,要定位到哪个语句最消耗性能,这个似乎并不是很难,而往往是把你把消耗性能的代码去掉,它也提升不了多少,或者是最消耗性能的代码就是系统的最核心的操作,你根本无法去掉,甚至已经没有优化
2015-05-26 23:55:49 2612
原创 实时大数据设计策略
1、流水模式 所谓的流水模式就是,当一个线程搞不定一个业务的时候,就将这个业务分为几个过程,前一个过程处理到某种程度,就交给后一个处理过程,形成并行处理机制,我将这样的机制称之为流水模式,其实这就是多线程多核并行处理。 这里我有两点体会与大家分享: 1) 线程颗粒度 决定线程颗粒度的一般有以下几个因素:
2015-05-26 23:52:28 869
原创 软件架构设计(七)
七 网络拓扑图 网络拓扑本不是架构设计的事,但作为架构师,应积极参与进去,在遇到问题时,可以有更多的分析信息。在我的经历中,软件在公司内部测试往往都ok,但到现场部署后,经常会出现这样那样的问题,这往往是网络原因造成的(还有一部分是实际环境的数据要比公司模拟数据复杂的多)。 醉翁之意不在酒
2015-05-19 00:40:20 518
原创 软件架构设计(六)
六 接口协议这里说的接口一般指进程间或系统间的接口,至于接口性能,则是在设计心模块时就考虑的问题。我比较想表达以下几个观点: 1) 接口尽量通用,如2个进程可能部署在同一台机器上也可能是不同机器上,这时接口就需要考虑通用性; 2)接口不能对自身系统和对方系统造成影响,如阻塞; 3)接口要考虑容错性,如加入校验手段等
2015-05-19 00:20:30 627
原创 软件架构设计(五)
五 业务流程图 聊到这里,其实还是一行代码也没写,呵呵,不过我们已经成功了一大半。架子已经有了,现在就差项目的业务流程了。曾记得有次面试,面试官鄙视做客户端或桌面应用程序的人,让我感到很不爽,不过后来这个面试官居然成为我的领导。如果谁敢鄙视桌面应用程序,那我就会问他,中国除了求伯君的WPS,还有什么比
2015-05-19 00:13:49 565
原创 软件架构设计(四)
四 层次架构图 曾见过一类程序员,他们第二次做类似项目时,还是按照以前的思维模式,把所有代码重写一遍,或者在前面的代码上改改,就算第二个项目了。当产品越来越复杂后,实在无法再在原来的基础上修改时,就不得不推翻重来一次。也许在原有基础上修改是个捷径,也很快,但我认为那其实是一种不负责任的做法,它可能
2015-05-18 23:58:35 1299
原创 软件架构设计(三)
三 核心模块图 习武之人往往追求一个高境界,但最后都归结到“德”上,由武人转变为哲人。“以无法为有法,以无限为有限”,“无招胜有招”等等,都是他们最高追求。我们写代码的人不也是一样么?曾经对GOF设计模式,boost等甚是追求,追求着追求着,慢慢发现这些只不过是一种具体的技术(应
2015-05-18 23:37:16 717
原创 软件架构设计(二)
二 系统构成图 有人说现在没有脱离网络的程序,我想现在也不会有单一模块的系统。一个开始看似简单的产品,却发现需要很多个技术组相互配合完成。这里愤青一把,聊点闲话。中国的龙芯CPU到现在似乎没有达到国人的预期,被很多人诟病。不
2015-05-18 21:55:56 615
原创 软件架构设计(一)
记得在北航上课的时候,听《web services》的课程时,老师拿出他们做的项目方案PPT给我们欣赏,里面就有很多的设计图纸,当时真是叹为观止,那些五颜六色的方块真规整,排列的那么有序,条理那么清晰,心里想,我什么时候可以做出这样的东西,我就牛了。后来进入公司,发现这样的东西很多,大多是那些做产品的人做出来的,主要供演示用。慢慢地随着自己在公司的地位不一样,发现他们做的和我们设计
2015-05-18 21:46:12 897
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人