1:在通常的服务器里如appache 等 ,都是需要再进程间切换,个人理解都需要内核态切换(也就是操作系统间的进程调度) ,每次切换可能需要5微秒 但是如果上万甚至几十万的进程的话 消耗是成指数级的
2:nginx 不需要再内核态里切换,而是直接在用户态做链接切换降低了性能消耗,使得CPU少做无用功
3:如果让linux给于nginx里的worker更大的时间切片的话,8毫秒-800毫秒 这样nginx会处理速度更快
内核态:当一个进程因为系统调用陷入内核代码中执行时处于内核运行态(内核态),此时特权级最高,为0级。执行的内核代码会使用当前进程的内核栈,每个进程都有自己的内核栈。
用户态:当一个进程在执行用户自己的代码时处于用户运行态(用户态),此时特权级最低,为3级,是普通的用户进程运行的特权级,大部分用户直接面对的程序都是运行在用户态。
用户态到内核态的切换:当在系统中执行一个程序时,大部分时间是运行在用户态下的,在其需要操作系统帮助完成一些用户态自己没有特权和能力完成的操作时就会切换到内核态。