day10_监控分析

根据架构图—画出请求数据流 —根据数据流经过的节点分析问题

负载机—经过网络传输到—应用服务器—跑服务—空闲中间件连接池(web请求连接池)_处理代码—通过网络把sql发送到—数据库连接池—请求发送到数据库服务器—数据库执行sql语句—将数据结果通过网络返回应用服务器—应用服务器对进程和线程唤醒—返回数据结果继续执行代码—将返回结果return—通过网络返回客户端

分析原因:

负载机(硬件)—网络—应用服务器(硬件)数据库服务器(硬件)web容器连接池—数据库连接池—sql执行过程—代码的业务逻辑。(java会有jc一说)

分析操作系统

操作系统三大件

1cpuCpu对操作系统影响最大-逻辑判断处理计算

2内存:cpu工作需要的数据存在这里,相当于闪存和缓存,电脑重启后数据就释放了,例如qq进程强制被杀死,释放一块址空间、如果在重新开启就开辟一块内存地址空间。

备注:非关 系型数据库nosql存在内存里Redis存放的key-value键值存储,内存比磁盘块很多。

    如果发生内存满了、所以电脑卡了、重启就全部清空内存了。

3、磁盘:存储最终需要的数据永久存储、关系型数据库mysqloracle数据存在磁盘里例如存一些报表,

回收站清空时-清理的是磁盘、360提示清理垃圾、垃圾数据在磁盘上(里面还包含缓存的数据实际不会那么大)

Cpu对操作系统影响最大-Cpu计算、逻辑判断的数据都存在内存里例如cpu进行ifa>0)逻辑判断但是数据a来自于内存。

4、固态硬盘:分散的读写速度更快 ,存储数据。

5、机械硬盘:读写是一个通道一个通道比较慢,存储数据。

6、二级缓存:lev1lev2cpu和内存之间、比内存速度更快。但是二级缓存很贵,现在已经没人用

7、磁盘的io:磁盘的读和写操作

8、一切问题揭io数据库一般读写存在这个问题

  读: Sql的执行一条sql语句,从内存里读取速度比较快,如果数据不再内存从磁盘读取到内存里在供cpu使用

发生的原因

      select查询数据—数据不再内存里,数据在磁盘里

1) 不是热点数据:热点数据就是缓存在内存里的数据-常规数据,数据里缓存。(内存不足)

2) Sql语句写的有问题例如select  *  查询量很大。—全部从磁盘把数据搬家过来,读出来在进行判断过程会很长。

  写:数据库语句insert写入到内存,这条sql就完成了,内存会自动同步到磁盘,再从内存放到磁盘上去。磁盘同步速度不够快时,如果重新启动数据,数据就丢失了。

总结cpu利用率—磁盘io读写的大小—Cpu利用率或者Cpu使用率是多少

指标

9、cpu利用率:时间片里面供应用程序工作的时间片+系统调度的时间片之和/总时间

top 命令查看cpu使用情况

猜你喜欢

转载自www.cnblogs.com/njq666/p/10930069.html