服务器

说说服务器宕机恢复和负载均衡那些事(上)
     摘要: 对于服务器程序而言,尤其是云计算时代的服务器程序,三高标准(高可用、高性能、高扩展)往往是衡量一个优秀的服务器程序的重要指标。本篇文章主要聊聊服务宕机恢复(高可用的重要内容)、负载均衡(高扩展、高可用的主要内容)。以下内容均属个人工作中的见解,如有不妥之处,欢迎指正。 ----peakflys  阅读全文

posted @ 2014-03-26 16:58 peakflys 阅读(4068) | 评论 (0)  编辑

一场虚惊——记大量心跳超时事件的排查
     摘要: 项目终于上线了,伴随着人数的逐步上升,最近查看日志,发现了大量连接超时的日志。项目中使用的是TCP长连接,为了保证网络资源及时有效的释放,程序中是1分钟一次心跳,3分钟无心跳即认为超时。此为本文的背景
相对于TCP连接建立时的三次握手,我想很多人对断开连接的四次招呼就不是那么熟了,这里先谈一下TCP的断开,下面给出TCP断开连接的过程图:  阅读全文

posted @ 2013-05-27 16:56 peakflys 阅读(5779) | 评论 (2)  编辑

TCP滑动窗口易错处,后来者戒之!
     摘要: 前段时间研究分布式时写了一个可扩展的服务器组程序,服务器组之间通信时老是达不到想要的性能。后来抓包排查,原来是TCP滑动窗口引起的问题,本来是很基础的东西,奈何当初没有太在意,导致错误的产生,现在详细写出来,忘不太清楚者警惕!  阅读全文

posted @ 2012-11-29 14:17 peakflys 阅读(5273) | 评论 (7)  编辑

由段错误引申出的缓冲区溢出攻击分析
     摘要: 前段时间在写《段错误造成的常见诡异宕机情况总结(中)》时,分析到 程序中数据写超时有可能写到this指针所在的地址里面,导致最终诡异的宕机。其实网络攻防里常用的缓冲区溢出攻击也是这个道理,除了使用户程序甚至计算机挂掉外,还有可能执行攻击者想执行的任何程序,这篇文章主要详细剖析一下第二种攻击的方法以及现在Linux(包括各种修改版本,例如Android)、Windows下常使用的防范措施。  阅读全文

posted @ 2012-10-24 16:51 peakflys 阅读(2397) | 评论 (2)  编辑

段错误造成的常见诡异宕机情况总结(下)
     摘要: 国庆长假终于结束了,从拥堵的噩梦中醒来,该收收心重新回到工作中来了(顺便吐槽一下闹心的长假,平时工作没时间出去,放了长假了 又不敢出去,路上耗费大量的时间和金钱也算了,弄的整个人也身心疲惫的……)
言归正传,接着上回宕机情况说。之前比较难找的宕机错误已经在前两篇随笔里说过了,这次要说的是前不久一个同事遇到的。他要做一个录像功能,每次把客户端的消息转储成文件时挂掉。大致代码如下:  阅读全文

posted @ 2012-10-08 16:13 peakflys 阅读(4522) | 评论 (1)  编辑

段错误造成的常见诡异宕机情况总结(中)
     摘要: 上面一种情况是自己内存写超了,写到了用户态别的结构所在的内存,特点就是core文件显示 别处对象的内容乱七八糟,且一般是在对象析构时发生,这次讲解一下,自己把自己写坏的情况。  阅读全文

posted @ 2012-09-21 13:32 peakflys 阅读(3904) | 评论 (2)  编辑

段错误造成的常见诡异宕机情况总结(上)
     摘要: 因为内存问题,程序崩溃对于每一个c++程序员而言是很常见的问题,而段错误引起的宕机,恐怕是平时遇到的最多的情况,除了常见的指针未判空和野指针问题外,还有不少是比较头疼的情况,空指针因为定位很直接方便,这里就不说了,野指针因为它的异时异地特性,很难排查,这个以后我会详细说一下的,这里仅仅介绍一下其他也比较头疼的段错误宕机情况,这是之前自己总结的笔记,前段时间又看到了,感觉对很多人 应该是有用的,于是总结出来供大家参考。  阅读全文

posted @ 2012-09-20 19:01 peakflys 阅读(5786) | 评论 (0)  编辑

论epoll的使用
     摘要: 前几天回答一个问题,是关于我们项目中使用的epoll模式的,因为记不大清了,感觉应该使用的就是epoll的高速模式,也就是ET(edge-trigger)模式。这两天闲暇的时候,打开代码又看了一下,在epoll事件注册时并未标记ET模式,看来实际使用的是epoll默认的LT(level-trigger )模式,为什么呢?使用LT意味着 只要 fd 处于 readable/writable 状态,每次 epoll_wait 时都会返回该 fd,系统开销不说,自己处理时每次都要把这些fd轮询一遍,如果fd很多的话,不管这些fd有没有事件发生,epoll_wait 都会触发这些fd的轮询判断。  阅读全文

posted @ 2012-08-26 18:33 peakflys 阅读(12621) | 评论 (18)  编辑

论大小端
     摘要: 最近挺忙的,也没时间写点东西,一直在忙下一个资料片的事情,前几天在群里见有人问关于大小端的事情,这里说一下。
对于跨平台的程序或者所用数据牵扯到不同平台的程序(例如网络编程),大小端字节序是个值得考虑的事情。本文主要讨论一下网络编程方面的大小端问题。(by peakflys)  阅读全文

posted @ 2012-08-19 12:17 peakflys 阅读(5939) | 评论 (5)  编辑

<2024年3月>
252627282912
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

公告

人不淡定的时候,就爱表现出来,敲代码如此,偶尔的灵感亦如此……

常用链接

留言簿(4)

随笔分类

随笔档案

文章档案

搜索

最新评论

阅读排行榜

评论排行榜