奇思异想
final
坚强的走下去 辉煌的站起来
展开
-
网络负载平衡改造(续2)
昨天有点事耽误了... 今天又接着改造... , 在改造的时候遇到了一个之前就曾经发生的问题: 因为epoll_wait和event处理使用2个不同的线程, 这就导致了, 有可能出现, 当event处理线程释放该connection, 但是epoll_wait线程已经获取了该event通知, 并压入event处理线程, 当event处理线程再次处理该事件时, 会访问非法空间一致崩溃 ... 想了半天, 终于有了一个好想法, 因为现在所有的事件都有一个event_type, 但其容量很小, 这样就可以将原创 2011-04-13 19:05:00 · 685 阅读 · 0 评论 -
网络负载平衡改造(续)
<br /> 昨晚, 构思了一下, 稍微写了一些, 总结一下经验和遇到的问题.<br /> <br /> 首先, 为了既能平衡调度各个连接, 又能保持对epoll_wait的接受, 需要额外增加一个调度线程, 而原有调用epoll_wait的线程只用于投递请求, 请求模式依然使用LT, 这里使用ET模式可能会引发一些不必要的BUG.<br /> 多增加了线程, 就要更加注意防范引用到野指针的危险, 这里对net_buff增加引用计数, 初始计数2, 当网络错误, 或对端关闭时, 逐步关闭socket通原创 2011-04-12 14:23:00 · 731 阅读 · 0 评论 -
改造网络负载平衡
原因: 经过前几天的压力测试, 发现网络层处理消息有些问题, 定长的BUFF导致响应客户端请求的数量要远高于数据库返回的响应(因为客户端发送的协议数据长度很小, 而数据库返回的却很大, 在同样长度的BUFF内可以容纳更多的客户端请求, 打个比方, 平均响应100条客户端请求, 才能响应一条数据库请求, 这势必会造成服务器内部堆积了大量的不均衡请求对, 最终有可能导致服务器挂掉), 所以打算近期进行改造. 思路: 如果能让每条连接响应的协议数量可控, 则可以大大减少这种情况的发生. 那原创 2011-04-11 19:03:00 · 782 阅读 · 0 评论 -
hash_tbl 结构改造
<br /> 这两天正在为网络层制作负载均衡策略, 这个具体的细节会在今后逐步写出, 先来说说在测试负载均衡时遇到的一点问题.<br /> <br /> 昨晚改好后, 负载均衡策略可以按照预期逻辑层指定的返回值进行继续通知或者挂起~, 从而让优先级更高连接类型获得更多的执行权. 但是测试的结果并不像预期那样美好, 虽然服务器不会因为buff不足而被迫断开连接, 但是运行效率依然和以前一样稳步下降, 这让我着实很恼火..., 于是直接加上 -pg参数开始profile...<br /> <br /> p原创 2011-04-14 14:10:00 · 653 阅读 · 0 评论 -
AutoBuild系统的改进
Title: Upgrade Autobuild SystemAuthor: 胡钰璋 ( Yuzhang Hu )Email: hyzwowtools at gmail dot comPersonal blog address: Here 之前写了一篇文章算是AutoBuild Server的开篇, 上一篇已经叙述了如何利用git server搭建自动构建系统原创 2012-08-15 13:59:21 · 3331 阅读 · 0 评论