一、关于上下文切换的几个为什么 1、 上下文切换是什么? 上下文切换是对任务当前运行状态的暂存和恢复 2、 CPU为什么要进行上下文切换? 当多个进程竞争CPU的时候,CPU为了保证每个进程能 ...
一 上节总结回顾 上一节,我们回顾了经典的 C K 和 C K 问题。简单回顾一下,C K 是指如何单机同时处理 万个请求 并发连接 万 的问题,而 C K 则是单机支持处理 万个请求 并发连接 万 的问题。 I O 模型的优化,是解决 C K 问题的最佳良方。Linux . 中引入的 epoll,完美解决了C K 的问题,并一直沿用至今。今天的很多高性能网络方案,仍都基于 epoll。 自然,随 ...
2019-09-16 16:35 0 375 推荐指数:
一、关于上下文切换的几个为什么 1、 上下文切换是什么? 上下文切换是对任务当前运行状态的暂存和恢复 2、 CPU为什么要进行上下文切换? 当多个进程竞争CPU的时候,CPU为了保证每个进程能 ...
一、上节回顾 前面内容,我们学习了 Linux 网络的基础原理以及性能观测方法。简单回顾一下,Linux网络基于 TCP/IP 模型,构建了其网络协议栈,把繁杂的网络功能划分为应用层、传输层、网络层、网络接口层等四个不同的层次,既解决了网络环境中设备异构的问题,也解耦了网络协议的复杂性 ...
一、上节回顾 上一节,我带你一起学习了网络性能的评估方法。简单回顾一下,Linux 网络基于 TCP/IP协议栈构建,而在协议栈的不同层,我们所关注的网络性能也不尽相同。 在应用层,我们关注的是应用程序的并发连接数、每秒请求数、处理延迟、错误数等,可以使用 wrk、Jmeter 等工具,模拟 ...
一、上节回顾 不知不觉,我们已经学完了整个专栏的四大基础模块,即 CPU、内存、文件系统和磁盘 I/O、以及网络的性能分析和优化。相信你已经掌握了这些基础模块的基本分析、定位思路,并熟悉了相关的优化方法。 接下来,我们将进入最后一个重要模块—— 综合实战篇。这部分实战内容,也将是我们对前面所学 ...
问题 1: 使用 perf 工具时,看到的是 16 进制地址而不是函数名 1、分析过程 在 CentOS 系统中,使用 perf 工具看不到函数名,只能看到一些 16 进制格式的函数地址。 其实 ...
一、环境准备 1、在第6节的基础上安装dstat wget http://mirror.centos.org/centos/7/os/x86_64/Packages/dstat-0.7.2- ...
一、上节回顾 上一节,我以 ksoftirqd CPU 使用率高的问题为例,带你一起学习了内核线程 CPU 使用率高时的分析方法。先简单回顾一下。 当碰到内核线程的资源使用异常时,很多常用的进程级性能工具,并不能直接用到内核线程上。这时,我们就可以使用内核自带的 perf 来观察它们的行为 ...
一、上节回顾 上一节,我们学习了碰到分布式拒绝服务(DDoS)的缓解方法。简单回顾一下,DDoS利用大量的伪造请求,导致目标服务要耗费大量资源,来处理这些无效请求,进而无法正常响应正常用户的请求。 由于 DDoS 的分布式、大流量、难追踪等特点,目前确实还没有方法,能够完全防御DDoS 带来 ...