设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

系统负载增加时将会遭遇的42个怪兽问题

2013-5-13 10:44| 发布者: joejoe0332| 查看: 1849| 评论: 0|原作者: super0555, theboy, zfj|来自: oschina

摘要:   这篇文章是一个掠影,关于在负载增加时,你的精雕细琢的程序可能会遇到的所有坏事情:所有会突然导致损失的地狱。当然你可以扩展或扩大,但是你也可以选择 更好的编程。使你的系统能处理更大的负载。这能节约经 ...

  文件描述符限制

  通常一个容器上文件描述符的数量有一个固定数值的极限。设计必须限制最大的数字在这个极限以下。如果阻塞的描述符从文件描述符池取出,那么具有大量连接数 (ftp, com, 启动程序, 客户端,等等)的设计将导致问题。大规模条件下,描述符的数量可能有一个峰值。随着规模的增长,描述符泄漏会用光可用的描述符池。

  Socket缓存限制

  每个socket 都有一个分配数量的缓冲空间。大量的socket能减少可获得内存的全部总量。随着规模的增长,丢弃增多,因为用来接受消息的缓存数量不足以跟上负载。这 也与优先级有关,因为任务可能不具有从socket读出数据的足够优先级。在发送方,高优先级的任务可能用消息将低优先级的消息淹没。

  引导镜像服务限制

  在同一时刻,每个节点能提供的启动条目数量限制为X。ftp服务器基础设施必须限制它所服务的对象数量,否则该节点会使CPU停止工作。

  混乱的消息

  在压力之下,消息系统可能会开始无序分派消息,这会导致需要非指数数量级操作的问题。

  协议弱点

  除非应用协议是仔细创建的,否则增长的规模将带来非常多的问题。

  连接数限制

  某种带十个客户端的中央服务器可能有足够的性能,但若带一千个客户端,它可能无法满足响应时间需求。在这个场景,平均响应时间大概随着客户端数量线性变 化,我们称其具有O(N)("规则 N")的复杂度,但也有其它复杂度的问题。例如,如果我们希望一个网络中N个节点能互相通信,我们可以将每个节点连接到一个中心交换设备,需要O(N)连 线,或者我们也可以将每一对直接连接,需要O(N^2)连线(确切的数字或公式通常不是那么重要,相较于涉及的N的最高次方来说)。

  分层架构

  这是 一个很好的总结 ,所以这里只是参考一下吧:基于层叠的架构从来就不是说能够创建低延迟,高吞吐率的应用。分层架构的基础问题是,它是创建来解决昨天的问题的。从客户端-服务器时代过渡到互联网时代,它是解决可伸缩性的完美解决方案。

  问题域是怎样伸缩应用支持成百上千的用户。这个问题的解决方案是我们今天知道的n层架构。选择伸缩性规格在于基于过负载均衡的表现层。确实它实际上解决了这个问题。但是,现在问题已经进化了。现在很多行业里,问题不仅仅在于提升用户体验,它也是一个数据容量的问题。

  多处理器性能问题

  当处理器被请求在大量不相关工作负载之间切换的时候,神奇的硬件缓存加速将趋于崩溃。


酷毙
1

雷人

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部