摘要: 07.29 最高到了115w积压, 07.30也有持续几分钟上万的走势 分析 对update_betting_offer的处理包括2部分,Handler_Filter和Handler_Trigger, 性能问题发生在Handler_Filter阶段 Handler_Filter各个子阶段在07.29 阅读全文
posted @ 2017-12-26 16:15 sealake 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 任何事都是平衡的,没有完美,得到了一些东西,自然会失去一些东西。 舍得!舍得!做人做事都是这样。关键想好最想要的是什么,接受由此失去的。 系统设计也是这样,需要关注重点,深入思考,架构要简单、可控、模块化、直觉化; 当时间有限时,抓大放小,不要在过于琐碎的地方浪费太多的时间。 此外:每种技术、方案都 阅读全文
posted @ 2017-05-05 17:49 sealake 阅读(211) 评论(0) 推荐(1) 编辑
摘要: 现象: 同事负责的项目转到我部门,整理服务过程中发现了队列的积压问题。 为了搞清楚积压的严重程度, 对队列任务数每分钟进行一次采样,生成一个走势图, 队列积压情况一目了然,非常严重。 分析: 听了同事对系统的介绍,猜测是mongo性能影响了处理效率,于是针对mongo进行分析 1. 使用mongot 阅读全文
posted @ 2017-04-26 17:57 sealake 阅读(2160) 评论(2) 推荐(3) 编辑
摘要: 理解 Linux 的处理器负载均值原文链接: http://www.gracecode.com/archives/2973/你可能对于 Linux 的负载均值(load averages)已有了充分的了解。负载均值在 uptime 或者 top 命令中可以看到,它们可能会显示成这个样子:load average: 0.09, 0.05, 0.01很多人会这样理解负载均值:三个数分别代表不同时间段的系统平均负载(一分钟、五 分钟、以及十五分钟),它们的数字当然是越小越好。数字越高,说明服务器的负载越 大,这也可能是服务器出现某种问题的信号。而事实不完全如此,是什么因素构成了负载均值的大小,以及如 阅读全文
posted @ 2011-11-28 22:54 sealake 阅读(344) 评论(0) 推荐(0) 编辑
摘要: High-Performance Server Architecture高性能服务器架构来源:http://pl.atyp.us/content/tech/servers.html译文来源:http://blog.csdn.net/marising/article/details/5186643引言本文将与你分享我多年来在服务器开发方面的一些经验。对于这里所说的服务器,更精确的定义应该是每秒处理大量离散消息或者请求的服务程序,网络服务器更符合这种情况,但并非所有的网络程序都是严格意义上的服务器。使用“高性能请求处理程序”是一个很糟糕的标题,为了叙述起来简单,下面将简称为“服务器”。本文不会涉及 阅读全文
posted @ 2011-11-24 22:47 sealake 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 转载:http://www.vimer.cn我们目前的网络模型大都是epoll的,因为epoll模型会比select模型性能高很多, 尤其在大连接数的情况下,作为后台开发人员需要理解其中的原因。select/epoll的特点select的特点:select 选择句柄的时候,是遍历所有句柄,也就是说句柄有事件响应时,select需要遍历所有句柄才能获取到哪些句柄有事件通知,因此效率是非常低。但是如果连接很少的情况下, select和epoll的LT触发模式相比, 性能上差别不大。这里要多说一句,select支持的句柄数是有限制的, 同时只支持1024个,这个是句柄集合限制的,如果超过这个限制,很 阅读全文
posted @ 2011-11-18 13:53 sealake 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 本文转载自nosql-wiki.org日志保证了数据的持久性和事务的原子性。可以简单的认为日志是一个不断追加日志记录的文件。单条日志记录是一段二进制缓冲区。 下面是本文会使用到的几条通用的日志记录:标示trasaction的开始标示transcatoin成功提交,所有对数据的修改都已经成功。由于cache的存在,在日志中看到COMMIT并不一定意味着 数据的修改都已经持久化。日志的目的就是保证所有COMMIT的事务的修改在程序程序异常退出的情况下能够保留;所有没有COMMIT 的事务的修改在程序异常退出的情况下都不会保留,就像这些事务根本就没有START一样。事务T的所有修改都不能保留下来,最 阅读全文
posted @ 2011-09-08 11:05 sealake 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 本文转载自淘宝核心系统团队博客,文章描述了两个方面的内容,数据库事务的约束条件,以及分布式系统中事务性保证所用到的基础的两阶段提交策略。对理解分布式系统的一致性模型有一定的帮助。1 事务的ACID事务是保证数据库从一个一致性的状态永久地变成另外一个一致性状态的根本,其中,ACID是事务的基本特性。A是Atomicity,原子性。一个事务往往涉及到许多的子操作,原子性则保证这些子操作要么都做,要么都不做,而不至于出现事务的部分操作成功,而另外一部分操作没有成功。如果事务在执行的过程中发生错误,那么数据库将回滚到事务发生之前的状态。比如银行的转账服务,这个事务的最终结果一定是:某个账户的余额增加了 阅读全文
posted @ 2011-09-08 11:02 sealake 阅读(809) 评论(0) 推荐(0) 编辑