自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jeanter的博客

求甚解

  • 博客(26)
  • 收藏
  • 关注

原创 系统的分类

我所接触过的系统可以分为5类1.以关系数据库为主要存储的一类系统的,或者附加少量数据的noSql的存储,特点是逻辑复杂,多变。如各类业务类系统,传统的信息系统,中小型电商系统的各类业务系统(sku 千万级,日单量 100万级),包括商品,价格,库存,订单,用户,会员,购物车,结算等2 有数据存储,但是关系数据库不能适应的一类系统,特点是业务体量大,数据规模大,如腾讯的各类在线业务,QQ,微信,QQ...

2018-01-24 15:53:25 2241

原创 技术的变革

待续

2017-08-25 20:44:42 471

原创 io wait

November 18, 2013 (updated March 3, 2015)Some time ago I had a discussion with some systems guys about the exact meaning of the I/O wait time which is displayed by top as a percentage of total C

2017-08-25 11:05:42 579

原创 技术优化的成本

某公司一个业务,十台服务器,每台价格三万,每年电费,机架租用,管理费用两万。it成本一年50万。 雇用十个普通工程师,年薪十万。支撑业务稳定运行及正常发展。人力成本一年100万。又请了两个牛逼工程师,年薪30万,花了半年把系统重构得很牛逼,性能提升30%, 只需要7台机器就可以了,算下成本,一年可降低it成本15万,不过人力成本却上升60万,不划算呀。 牛人去了另一个公司,公司

2017-08-24 20:57:37 444

原创 吞吐量和延时

某单机计算秘钥的服务(cpu bound). 4核,接受网络req,最大吞吐10万/s ,(4核cpu均达到99%以上), 当吞吐达到10万/s时 , 对于单个req延时是多少? 假设服务有个队列,长度为10万,我们时间统计周期降低到1ms,前任意时刻,假设每1ms有100个req进来,4核cpu都能好的处理完,队列长度不超过100,也就是每req的排队时间不超过100,

2017-02-22 10:17:41 3892

原创 ESP EBP

ESP 一直指向栈的栈顶,在intel x86的系统中,堆栈在内存中是从高地址向低地址扩展,因此,栈顶地址是不断减小的,越后入栈的数据,所处的地址也就越低。每一次嵌套调用时 esp表示当前方法的栈顶,在进入嵌套方法前,ebp入栈,ebp再保存当时esp的地址, esp在进入嵌套方法后,开始发生变化,此时,可以通过ebp返回到上一个方法的调用地址。再次嵌套时,esp表示当前方法的栈顶,ebp(上一个

2016-10-05 11:20:05 391

原创 关于虚拟机

操作系统把硬件资源抽象成进程暴露给用户,虚拟化是把资源再抽象成另外一个虚拟机,虚拟机可以是同构,也可能是异构,然后对IO,DEVICE等都进行了模拟.比如x86下面的分段,分页,内存管理,已经很复杂了,搞虚拟化还要在此基础上做影子页表。

2016-10-05 10:15:08 234

原创 系统调用,上下文切换及中断概念的汇总

仔细揣摩了一段时间.系统调用过程,用户进程进入内核态,进程栈进入内核态栈, cpu进入内核态,cpu用户态各寄存器的值保存到内核态栈,执行内核态代码. 执行完从内核态返回到用户态,包括进程栈返回到用户态栈,cpu返回到用户态,cpu各寄存器的值用之前保存在内核态栈的值还原. 内核在执行系统调用时处于进程上下文中,current指针指向当前进程,即引发系统调用的进程...

2016-06-28 15:28:00 5289 1

原创 优秀系统的目标

1.为业务服务,产生价值.这是基本使命,脱了了这个,下面的都是空洞。     2. 满足恶劣环境下的稳定性。     3.结构清晰,简单,优雅,小而美. 并且廉价.     越复杂代表越不可控,不可控的系统代表着脆弱.     4 运维,安全,统计,监控 ,维护,扩展, 简洁好用。     5 快 ,响应快,启动快,配置快,上线快,替换快,扩展快.     6 软件的本质是操纵

2016-06-22 13:02:50 418

原创 多Reactor

       这两天发现了一个bug,一个nio的server,多Reactor , 设置的非阻塞模式, 当前channel可写时,代码 直接一句 channel.write( wBuf );  将当前连接上处理好的响应包一个一个写出去.   因为这个写是非阻塞的, channel.write的时候 如果当前内核socket缓冲区的空间比当前这个输出buffer要小 ,这个方法会也会马上返回,但是...

2016-05-30 15:10:13 391

原创 精通 熟悉 了解

1. 学了 用了一两年,觉得自己什么都能干,什么都会,知道很多知识,知道很多细节 ,处理过很多问题,这时候叫精通。2. 混了五六年后,发现自己不知道的东西太多了,学一辈子也学不完,这时候别人问你什么程度,你就会说:熟悉。 3. 等到10年后,你学的很多了,但是还是觉得自己不懂的很多, 这时候别人问你什么程度,你就会说:了解

2016-05-27 17:38:13 1357

原创 天天说高性能

都说自己的系统时高性能,各种文章 书籍都会拿这个字眼修饰下, 优化了两下 性能就高了,就是高性能了,  多高是高,多低是不高, 性能得是可测量的性能,不可测量的性能无意义.

2016-05-27 15:00:19 264

原创 机器学习, 人工智能

机器学习, 人工智能 ,语音识别,语义识别, 及各种模式识别. 这些其实已经不是代码及语言,算法的范畴了. 算是计算机与数学的交叉学科. 你要了解高数中的基本的微积分,一元及多元(这个是数学的基础). 高等代数中的平面方程,向量,矩阵的计算, 基本的概率知识,各种常见的概率分布, (高斯 泊松等),全概率,中心极限定理,贝叶斯等公式,概率 概率密度函数期望.方差.协方差.相关系数,统

2016-05-23 18:12:34 305

原创 系统的负载load

很多系统都会有控系统,监控中经常会有一项是系统负载,而往往这个负载会放在CPU信息上去,最后观察CPU状态时,就会看负载和利用率,那么负载到底是啥,这个数据是怎么算出来的. uptime 会有过去三个时间范围内的负载数据,这个数据如何计算的呢,他反映的是系统哪里比较繁忙?     之前google的结论是 这是cpu运行队列上的进程数,也就是就绪状态,可立即运行或正在运行的进程数,(多cpu系

2016-05-10 13:53:19 545

原创 linux操作系统和应用系统设计

了解了文件系统和ex2及ex3文件系统的实现,你可以知道如何设计一个好的存储系统.索引体系. 日记以及恢复. 了解了内存管理,内存的分配和回收,伙伴系统,slab,你可以知道如何设计一个好的Nosql内存数据库存储结构,以及索引. 了解了进程的结构和调度,互斥,以及中断 .你可以更深入的理解多线程/进程 ,如何充分有效的利用一切系统资源. 了解了整个计

2016-05-10 13:21:43 368

原创 不要谈架构,要谈方法和细节

现在架构这词很时髦,啥系统都要放到架构的字眼里讲一通. 显得很牛逼的样子。  我喜欢拿工业和IT行业来做比较.  引用知乎里的一段话   科学是共享的、透明公开的,但是工程学却是保密的、私有的。发动机的原理可以说是及其简单,而且这个原理在内燃机存在的200多年里从来没变过:燃料燃烧致气体膨胀推动活塞做功。但是science说起来容易,如何用这些人类都知道的白开水一般的理论做出按人类意志

2016-05-09 17:00:46 308

原创 系统过载及保护的思考

家用电器为了防止电流过大,都会有保险装置,当电流过大时,自动切断电流,防止电器损坏, 防洪大坝的水位超过了警戒线,会开闸泄洪,防止大坝崩溃. 而我们的服务系统如果一旦流量过大(用户或请求超过其处理能力),很多情况下,都把自己搞挂了,很显然,我们设计系统时没有像我们的工业及建筑领域那样成熟的引入自我保护机制.稍不注意就把自己搞挂了.     一个系统的处理能力是有限的,就如一个车站在车次一定的情

2016-05-09 16:08:02 1497 1

原创 温故而知新

最新在看linux内核的书籍,不想囫囵吞枣,决定把希望了解的部分的每一个细节都弄懂,有的时候,特别是去阅读一个技术细节文章的时候,你粗略的看了一遍,以为自己懂了,明白了,可当你再去跟着作者的思路从新思考一番的话,发现,其实还有很低地方没明白,自己觉得的明白其实很多时候是自己有了这么个印象,误以为自己弄懂了,这种习惯不能说不好,如果你没有足够的时间,或者你不希望研究其细节的话,只需要一个简单的过程,

2016-04-21 12:50:49 340

原创 关于索引的思考

存储系统为了提高检索的效率,都会对需要检索的列进行索引,索引的数据结构有很多,如数据库常用的B+树(mysql oracle的常见索引),NoSql数据库中用到的Hash(memcache,redis),多阶Hash,跳跃表(lucence,levelDb)。排序数组。除Hash外,其他的索引结构所管理的key都是排序过的,特别是B+树,所有的叶子节点从左至右就是一个大大的排序数组,检索过程就是通

2016-04-20 16:02:16 334

原创 关于上下文切换的思考

vmstat 的结果中有 cs这一项,这里面的上下文切换 是指的进程切换 还是 只有进程的上下文切换, 进程的上下文切换,不一定会有进程的切换,如,进程通过系统调用进入内核态,当前进程进入了内核态,栈发生了变化,会使用内核态栈,内核态栈会保持当前cpu的大多数寄存器的内容,,cpu会从用户态切换到内核态,,这些上下文其实已经发生了变化,但是进程还是当前这个进程,系统调用后,立马回到用户态,用保存在

2016-04-20 14:09:11 756

原创 SSD的随机读能力 和一个高访问量的读写服务系统

昨天晚上写了个代码,测试了下目前我这个1000块钱的SSD的随机读能力。 主机配置 i5 4核(两物理核),8G内存 一个50G的文件(>> 8G内存 ,防止全缓存至内存中),随机seek到一个位置,读取100字节,返回,基本模拟了rmdb和nosql 根据主ID读取某条记录的场景(忽略索引ID时间).SSD在开启10个channel时读数据达到峰值 读取1百万条随机ID的数据

2016-04-19 18:49:23 2041

原创 关于产品 和互联网产品

部分短句节选自张小龙的PPT.最近几年互联网和热门,这次词也用的比较多。特别是互联网产品,思考了下,到底什么是互联网产品呢。产品 满足人类需求和欲望的。互联网产品 以互联网为载体,面相互联网用户,满足互联网用户需求和欲望的基于网络的服务。满足人性的(贪 嗔 痴 ),懒惰,攀比,炫耀,从众,没耐性,好奇, 习惯(不想改变)。倾诉。心里满足,爽。微妙之间,需

2016-04-19 18:08:14 351

原创 分布式和缓存的思考

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:[email protected]】 设计应用系统时,为了提高系统的读访问能力,往往都会将全部或部分热数据(有限的数据)放入内存,而避免耗时的文件io,网络IO(rmdb,nosql等远程存储系统),忽然思考了一下这个问题,并且把他联想到分布式的体系中去,发现,这不就是一个最简单的分布式结果吗,数据有副本了,一个是原始数据(

2016-04-19 17:18:50 303

原创 男人>女人

男人主动找你搭讪或认识,其实都可以总结成一句话,就是我想跟你上床,怎么样,但是如果男人一开始就这么说,除非你是帅得被驱逐出境的迪拜王子,基本就是傻逼耍流氓了,所以,一般就会 我先认识你,展示我的高价值,产生吸引,培养舒适感,最后在交往中产生感情,感情就是对过过去生活的依恋和留恋。然后就有了上床。但是大部分男人都会在这个过程中也爱上女人,那么就是相互产生感情,最后就是皆大欢喜的结果。 结婚 生子

2016-04-19 16:05:14 544

原创 四两拨千斤

中文里很多这些词汇,锦囊妙计 四两拨千斤 老中医偏方 21天学会xxx.  弯道超车 , 走捷径。听起来都是褒义词。可背后都是不尊重自然规律,不循序渐进,没有基础的学习。急于求成 。不妥。

2016-04-19 16:00:07 457

原创 浅谈UDP

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:[email protected]】          2012年在TX花了点时间研究了下UDP协议,给同事做的一个PPT分享。那会线上很多业务内网服务都是用的UDP.           简述           和TCP一样都是传输层协议直接依赖IP协议没有拥塞控制(太发快了会丢包)没有重传机制非

2016-04-19 15:41:49 937

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除