zoukankan      html  css  js  c++  java
  • 性能优化学习笔记

    1.性能优化是什么

         性能优化就是发挥机器本来的性能。

    2.性能的几个维度

    2.1 CPU

    命令:vmstat

    首先检查 cpu,cpu 使用率要提升而不是降低。CPU 空闲并不一定是没事做,也有可能是锁或者外部资源瓶颈。

    buffer和cache的区别:

    两者都是RAM中的数据,简单来说,buffer是即将要被写进磁盘的,cache是被从磁盘中读出来的。这两者是为了提高IO性能的,并有OS管理,并非应用自己分配的内存,而是OS根据自己需要对空闲内存进行的额外利用。因为这部分只是缓存,降低IO,提升性能,只要应用程序有需要,OS可以直接将buffer写入磁盘,将cache删掉,得到空闲内存给应用程序使用。

     

    命令top

     2.1 IO

    命令:iostat

     

    2.3Memory

    命令:free

     

     2.4 NetWork

    命令:nicstat(需要安装)

    2.5 监控软件

    3.术语

    吞吐量:对单位时间内完成的工作量的度量

    平均响应时间:提交请求和返回该请求的响应之间使用的时间

    平均响应时间越短,系统吞吐量越大;平均响应时间越长,系统吞吐量越小;但是,系统吞吐量越大,未必平均响应时间越短;因为在某些情况(例如,不增加任何硬件配置)吞吐量的增大,有时会把平均响应时间作为牺牲,来换取一段时间处理更多的请求。

    tps: Transactions per Second

    qps: Queries per Second

    4.补充

    CPU 负载高怎么定位:

    A. top 找到 CPU 高的进程 (原理:方法是由线程执行的,线程是在进程下的,找到进程下 cpu 最高的线程就能定位到方法)

     

    B. Shift + H 切换到线程模型 找到线程执行 cpu 高的线程号

    C. Jstack pid > p.txt 用 jstack 导出线程的 dump (记住这个问题有时候没有那么明显一直 cpu100%,可能是间歇性的 cpu 高所以这个能抓住这个线程还是要看运气)

     D. 把线程号转 16 进制 printf “%x ” 40437

    F. 到刚刚导出的 p.txt 里面检索定位到

     

     

     

     

     

  • 相关阅读:
    最小覆盖点集模板
    NSCache使用常见错误
    stl变易算法(一)
    web.xml(8)_jsp-config
    大话设计模式—中介者模式
    HTML5开发移动web应用——SAP UI5篇(9)
    BZOJ 1588 HNOI2002 营业额统计 裸Treap
    php实现Bloom Filter
    华为上机之四
    【转】我的电脑最近忽然开不了机,启动修复也无法修复,win7系统。开机的时候如果不点启动修复直接正常启动
  • 原文地址:https://www.cnblogs.com/cocoxu1992/p/11082604.html
Copyright © 2011-2022 走看看