`

与系统 性能相关的 常见十个瓶颈 说明

 
阅读更多

在网上看到的一篇Blog,原文链接如下:

http://highscalability.com/blog/2012/5/16/big-list-of-20-common-bottlenecks.html

需要才能打开这个链接,作为一个IT技术人员,是必备技能。 在这篇Blog里列了一些常见的与性能相关的瓶颈,仅仅是列举出来,没有单独的进行说明,不过每个点都是值得研究的。

具体的列表如下:

一. Database:

1.Working size exceeds available RAM

2.Long & short running queries

3.Write-write conflicts

4.Large joins taking up memory

二.Virtualisation:

1.Sharing a HDD, disk seek death

2.Network I/O fluctuations in thecloud

.Programming:

1.Threads: deadlocks, heavyweightas compared to events, debugging, non-linear scalability, etc...

2.Event driven programming:callback complexity, how-to-store-state-in-function-calls, etc...

3.Lack of profiling, lack oftracing, lack of logging

4.One piece can't scale, SPOF,non horizontally scalable, etc...

5.Stateful apps

6.Bad design : The developerscreate an app which runs fine on their computer. The app goes into production,and runs fine, with a couple of users. Months/Years later, the applicationcan't run with thousands of users and needs to be totally re-architectured andrewritten.

7.Algorithm complexity

8.Dependent services like DNSlookups and whatever else you may block on.

9.Stack space

.Disk:

1.Local disk access

2.Random disk I/O -> diskseeks

3.Disk fragmentation

4.SSDs performance drop oncedata written is greater than SSD size

.OS:

1.Fsync flushing, linux buffercache filling up

2.TCP buffers too small

3.File descriptor limits

4.Power budget

六.Caching:

1.Not using memcached (databasepummeling)

2.In HTTP: headers, etags, notgzipping, etc..

3.Not utilising the browser'scache enough

4.Byte code caches (e.g. PHP)

5.L1/L2 caches. This is a hugebottleneck. Keep important hot/data in L1/L2. This spans so much: snappy fornetwork I/O, column DBs run algorithms directly on compressed data, etc. Thenthere are techniques to not destroy your TLB. The most important idea is to havea firm grasp on computer architecture in terms of CPUs multi-core, L1/L2,shared L3, NUMA RAM, data transfer bandwidth/latency from DRAM to chip, DRAMcaches DiskPages, DirtyPages, TCP packets travel thruCPU<->DRAM<->NIC.

.CPU:

1.CPU overload

2.Context switches -> too manythreads on a core, bad luck w/ the linux scheduler, too many system calls,etc...

3.IO waits -> all CPUs wait atthe same speed

4.CPU Caches: Caching data is afine grained process (In Java think volatile for instance), in order to find theright balance between having multiple instances with different values for dataand heavy synchronization to keep the cached data consistent.

5.Backplane throughput

八.Network:

1.NIC maxed out, IRQ saturation,soft interrupts taking up 100% CPU

2.DNS lookups

3.Dropped packets

4.Unexpected routes with in thenetwork

5.Network disk access

6.Shared SANs

7.Server failure -> no answeranymore from the server

九.Process:

1.Testing time

2.Development time

3.Team size

4.Budget

5.Code debt

.Memory:

1.Out of memory -> killsprocess, go into swap & grind to a halt

2.Out of memory causing DiskThrashing (related to swap)

3.Memory library overhead

4.Memory fragmentation

5.In Java requires GC pauses

6.In C, malloc's start takingforever

-------------------------------------------------------------------------------------------------------

Skype: tianlesoftware

QQ: tianlesoftware@gmail.com

Email: tianlesoftware@gmail.com

Blog: http://www.tianlesoftware.com

Weibo: http://weibo.com/tianlesoftware

Twitter: http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----

DBA1 群:62697716(满); DBA2 群:62697977(满)DBA3 群:62697850(满)

DBA 超级群:63306533(满); DBA4 群:83829929 DBA5群: 142216823

DBA6 群:158654907 DBA7 群:172855474 DBA总群:104207940

分享到:
评论

相关推荐

    性能测试常见术语.pdf

    资源利用率是一个非常重要的性能测试指标,因为它决定了系统的性能瓶颈。 了解性能测试常见术语是非常重要的,因为它们决定了系统的性能和可靠性。在性能测试中,需要了解这些术语的定义和作用,以便更好地测试和...

    如何做性能测试-性能测试过程详述

    查找系统的性能瓶颈 给出较适合的软硬件配置方案 检验硬件配置能否满足客户要求 系统调优(硬件调优、数据库调优) 出一份报告给客户看 1.4 性能指标 (举例) 平均响应时间(秒) 成功率(%) 系统最大处理...

    性能测试之Windows常见性能计数器

    但必须说明的是,单一的性能计数器只能体现系统性能的某一个方面,对性能测试结果的分析必须基于多个不同的计数器。与性能计数器相关的另一个术语是“资源利用率”。该术语指的是系统各种资源的使用状况。为了方便...

    性能测试进阶指南——LoadRunner11实战 part2

    1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议分析 ...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    10.1.1 找到系统性能的瓶颈 10.1.2 提供性能优化方案 10.1.3 使系统硬件和软件资源的使用达到平衡 10.2 分析系统性能涉及的人员 10.2.1 Linux系统管理人员 10.2.2 系统架构设计人员 10.2.3 软件开发...

    J2EE应用服务器性能优化方案

    常见性能问题 影响J2EE系统性能的可能因素 JVM 介绍 线程介绍 应用服务器性能调优简介 金蝶Apusic性能调优 Http服务性能调优 数据库连接池性能调优 线程池性能调优 工具使用说明 ...定位系统性能瓶颈

    性能测试进阶指南——LoadRunner11实战 part3

    1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议分析 ...

    性能测试进阶指南——LoadRunner11实战 part1

    1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议分析 ...

    性能测试进阶指南——LoadRunner11实战_(完整)扫描版_@vs.part1

    1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议...

    性能测试进阶指南——LoadRunner11实战_(完整)扫描版_@vs.part2

    1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议...

    性能测试进阶指南——LoadRunner11实战_(完整)扫描版_@vs.part5

    1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议...

    性能测试进阶指南——LoadRunner11实战_(完整)扫描版_@vs.part4

    1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议...

    性能测试进阶指南——LoadRunner11实战_(完整)扫描版_@vs.part6

    1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议...

    性能测试进阶指南——LoadRunner11实战_(完整)扫描版_@vs.part3

    1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议...

    ORACLE9i_优化设计与系统调整

    §10.13 应用系统性能优化原则 123 §10.13.1 分而治之 123 §10.13.2 预分配,预支取,预编译 123 §10.13.3 筛选 124 §10.13.4 大量(bluk),块和批处理 124 §10.13.5 对应用适当的分段 124 §10.13.6 优化目标 ...

    安防天下智能网络视频监控技术详解与实践part2

    10.3.7 网络性能参数说明 313 10.4 组播技术介绍 316 10.4.1 单播、组播与广播 316 10.4.2 组播在视频监控中的应用 319 10.5 流媒体技术在视频监控中的应用 320 10.5.1 视频监控系统需求分析 320 10.5.2...

    安防天下智能网络视频监控技术详解与实践.part3

    10.3.7 网络性能参数说明 313 10.4 组播技术介绍 316 10.4.1 单播、组播与广播 316 10.4.2 组播在视频监控中的应用 319 10.5 流媒体技术在视频监控中的应用 320 10.5.1 视频监控系统需求分析 320 10.5.2 流...

    osf-openstack-training-master.zip

    ##项目说明 本项目主要用于开源力量《OpenStack应用实战解析及开发入门》 在线培训同步课程使用,请勿私自用于商业用途,欢迎个人随意转载,但是请保留源作者版权信息。 ##目录说明 code/ 上课用到的演示代码 ...

    安防天下智能网络视频监控技术详解与实践part1

    10.3.7 网络性能参数说明 313 10.4 组播技术介绍 316 10.4.1 单播、组播与广播 316 10.4.2 组播在视频监控中的应用 319 10.5 流媒体技术在视频监控中的应用 320 10.5.1 视频监控系统需求分析 320 10.5.2...

Global site tag (gtag.js) - Google Analytics