热点网|医学教育网|北京pk10开奖直播 pk10开奖直播 北京赛车pk10 pk10开奖直播 北京赛车pk10 PK10开奖直播 北京赛车pk10开奖直播 北京pk10 北京pk10

列举一些常见的系统系能瓶颈

Common Bottlenecks
服务器君一共花费了226.228 ms进行了5次数据库查询>>,努力地为您提供了这个页面。
试试阅读模式>>?希望听取您的建议

在 Zen And The Art Of Scaling - A Koan And Epigram Approach 一文中, Russell Sullivan 提出一个很有趣的设想:一共有20种经典的瓶颈。这听起来就像只有20种基本的故事情节(20 basic story plots)那样让人怀疑。不过基于每个人不同的分类方式>,这个说法或许是对的>>,但是在现实中,众所周知>,瓶颈是无穷无尽的而且涉及方方面面。

一天, 来自 Terracotta 的 Aurelien Broszniowski 给我电邮了一份他心中的瓶颈列表,我们同时把我们的邮件抄送给了Russell, 他也给出了他的列表。而我也有我自己的想法。 所以,下面就是这几碗水煮成的一锅石头汤( http://www.jzjxzzjx.com/wiki/Stone_soup>, stone soup典故)

Russell 说要是年轻的时候就知道这些该多好啊,而对我来说则可以提供更多的思路。你的经验越多,处理过不同类型的项目,你就可以给这个列表增加更多的内容。因此当你在阅读这个列表时>,或者是在整理自己的列表时>>,多年的丰富经验的积累以及遇到的一些小挫折,每一个故事都值得进行总结>。

数据库

  • 工作中数据大小超过可用内存 RAM
  • 长短查询混合
  • 写-写 冲突
  • 大的联合查询占光内存

虚拟化

  • 共享 HDD 存储,磁盘寻道挂起
  • 云平台中的网络 I/O 波动

编程

  • 线程:死锁、相对于事件驱动来说过于重量级>、调试>、线程数与性能比非线性
  • 事件驱动编程:回调的复杂性>、函数调用中如何保存状态(how-to-store-state-in-function-calls)
  • 缺少profile工具>、缺少trace工具、缺少日志工具
  • 单点故障、横向不可扩展
  • 有状态的应用
  • 搓设计:一台机器上能跑,几个用户也能跑>,几个月后,几年后,尼玛>,发现扛不住了>,整个架构需要重写>。
  • 算法复杂度
  • 依赖于诸如DNS查找等比较搞人的外部组件
  • 栈空间

磁盘

  • 本地磁盘存取
  • 随机磁盘读写 -> 磁盘寻道
  • 磁盘碎片化
  • 写入超过SSD容量的数据导致SSD硬盘性能降低

操作系统

  • 内核缓冲刷入磁盘,填充linux缓冲区缓存
  • TCP缓冲区过小
  • 文件描述符限制
  • 功率分配

缓存

  • 不使用memcached
  • HTTP中,header,etags,不压缩(headers, etags, not gzipping)
  • 没有充分使用浏览器缓存功能
  • 字节码缓存(如PHP)
  • L1/L2缓存,这是个很大的瓶颈。把频繁使用的数据保持在L1/L2中。设计到的方面很多:网络数据压缩后再发送>,基于列压缩的DB中不解压直接计算等等。有TLB友好的算法。最重要的是牢固掌握以下基础知识:多核CPU、L1/L2,共享L3,NUMA内存>,CPU、内存之间的数据传输带宽延迟>,磁盘页缓存>>,脏页,TCP从CPU到DRAM到网卡的流程。

CPU

  • CPU 过载
  • 上下文切换 -> 一个内核上跑了太多的线程>>,linux调度对于应用来说很不友好, 太多的系统调用, 等等...
  • IO 等待 -> 所有的CPU都挂起等待比较慢的IO
  • CPU 缓存: 缓存数据是一个为了平衡不同实例有不同的值和繁重的同步缓存数据保持一致,而精心设计的一个进程>>。
  • 背板吞吐量

网络

  • 网卡的最大输出带宽,IRQ达到饱和状态,软件中断占用了100%的CPU
  • DNS查找
  • 丢包
  • 网络路由瞎指挥
  • 网络磁盘访问
  • 共享SAN(Storage Area Network)
  • 服务器失败 -> 服务器无响应

过程

  • 测试时间 Testing time
  • 开发时间 Development time
  • 团队人数 Team size
  • 预算 Budget
  • 代码缺陷 Code debt

内存

  • 内存溢出 -> 杀进程,进入 swap ,越来越慢
  • 内存溢出导致磁盘频繁读写(swap相关)
  • 内存库开销
  • 内存碎片
  • Java 需要垃圾收集导致程序暂停
  • C 语言的 malloc 无法分配

如果你有更多的瓶颈见解与心得,欢迎补充>。

本文地址:http://www.jzjxzzjx.com/librarys/veda/detail/2408,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.jzjxzzjx.com/librarys/veda/detail/2408

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能>>。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏>。

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了>>。多少是多呢?起码得看3、4>、5>、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题>。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下>。

所以,阅读一百本计算机著作吧>,少年!

《C陷阱与缺陷》 Andrew Koenig (作者), 高巍 (译者)

《C和C++经典著作?C陷阱与缺陷》适合有一定经验的C程序员阅读学习,即便你是C编程高手,《C和C++经典著作?C陷阱与缺陷》也应该成为你的案头必备书籍。作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作《C和C++经典著作?C陷阱与缺陷》的出发点不是要批判C语言>,而是要帮助C程序员绕过编程过程中的陷阱和障碍?!禖和C++经典著作?C陷阱与缺陷》分为8章,分别从词法分析>、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章的篇幅给出了若干具有实用价值的建议。

更多计算机宝库...

  • 港媒称台战机“日晒雨淋” 台军将领出面否认 2018-05-22
  • 怎样和陈意涵袁姗姗一样拥有完美裸妆肤感? 2018-05-22
  • 《东北树木彩色图志》首次载入我国新发现植物“青姬木” 2018-05-22
  • 网约车司机无证上岗拟纳入失信黑名单无证司机失信 2018-05-20
  • 300余名澳门中学生参加国旗手训练营(组图) 2018-05-20
  • 法前总统萨科齐遭拘 或因利比亚前要人递新证据 2018-05-20
  • 美媒称中国新人婚纱摄影很疯狂:有的仿如电影拍摄现场 2018-05-19
  • 立陶宛举行“汉语桥”中文比赛 2018-05-19
  • 上海嘉禾2017秋季艺术品拍卖会 2018-05-18
  • 海归回国就业创业遇到困难怎么办他帮海归找工作就业创业留学生海归 2018-05-18
  • 扛不住了?台当局拟放宽许可条件鼓励陆客赴台 2018-05-17
  • 美名校毕业典礼竞邀女性演讲者 希拉里将前往耶鲁希拉里耶鲁演讲者 2018-05-16
  • 空姐遇害案告破!DNA鉴定打捞尸体确系嫌犯刘某华 2018-05-16
  • 44年前创举!美军运输机曾空射洲际导弹 2018-05-16
  • 中部新一线城市扩容 产业定位“只看高端” 2018-05-15
  • ASP300源码下载 | 微信红包群 | 设计 | 冠珠陶瓷 | 科技 | 北京赛车pk10微信源码 | 挖段子网 | 厦门旅游景点 | 旅游中国新闻网 | 钛媒体 | 健康网hsdcba | 每天资讯 | 广西农业技术信息 | 农业种植技术 |