码迷,mamicode.com
首页 > 系统相关 > 详细

Linux系统性能与调优(未完)

时间:2019-06-17 15:55:36      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:list   过多   效果   系统性能   系统内存   div   长连接   查看   http   

一、基本概念

QPS:query per second, 1秒内完成的请求数
RT:response time, 1个请求完成的时间
Throughput越大,Latency会越差。因为请求量过大,系统太繁忙,所以响应速度自然会低
Latency越好,能支持的Throughput就会越高。因为Latency短说明处理速度快,于是就可以处理更多的请求

最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间) * cpu数量
线程过多,时间消耗长,并不是说代码执行效率下降了,而是资源的竞争,导致线程等待的时间上升了,线程越多消耗内存越多,过多的线程直接将系统内存消耗殆尽

平均响应时间 = (并发线程数/最佳线程数) * 最佳线程数的响应时间

总QPS=线程数*单个线程的QPS

二、系统调优的目的

  • (1)调优的目的是高效地使用资源,尽可能地使用最多的资源,从而提高性能

  • (2)任何资源都要查看是资源使用率满了,还是没有高效使用资源
    例如CPU使用率高,是因为算法问题(死循环,低效算法),还是因为程序本身就需要这么多CPU。如果CPU使用率低,则查看是因为资源等待还是线性操作。
    又如I/O,wa低下,也有可能I/O的问题(当然不是硬件问题),wa低下代表磁盘的使用率低下。这时要看到底是程序本身不怎么使用磁盘,还是没有高效使用(大量随机操作,而不是批量操作,顺序写入,使用缓冲等)

  • (3)如果要提升服务器端的响应时间RT
    采用减少IO的时间能达到最佳效果,比如合并多个IO请求
    减少IO的调用次数:并发HTTP请求(无上下文依赖,多个连接,一个线程)、HTTP连接池(长连接)
    减少CPU的使用时间
    使用缓存

  • (4)如果要提升QPS
    采用优化CPU的时间能达到最佳效果,同时可以加大线程数
    减少CPU的使用时间
    增加CPU的数量
    减少同步锁
    如果CPU不能被压到85%以上,并且此时的QPS已经达到了峰值,则说明另有瓶颈

三、CPU工作原理

CPU工作模式
一台服务器看卡不卡,关键在于程序的运行,程序的运行又取决于执行代码时CPU的运行速度和效率,程序的运行原理是代码向CPU提出请求调用资源

  • 可以利用strace命令追踪程序进程的调用、进程状态的变更

Linux系统性能与调优(未完)

标签:list   过多   效果   系统性能   系统内存   div   长连接   查看   http   

原文地址:https://www.cnblogs.com/wangchengshi/p/11039294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!