1什么是服务器并发处理能力
一台服务器在单位时间里能处理的请求越多,服务器的能力越高,也就是服务器并发处理能力越强。如何提高服务器的处理能力,是目前计算机界的一个关键问题。服务器的本质工作就是,争取以最快的速度将内核缓冲区中的用户请求数据都拿出来,然后尽快处理,再将响应数据放到一块又能够与发送数据的缓冲区中,接着处理下一个请求。
2 衡量方法
2.1 吞吐率
吞吐率:单位时间里服务器处理的最大请求数,单位REQ/S。
2.2 压力测试
压力测试前提考虑的条件:并发用户数、总请求数、请求资源描述。
3 如何提高并发处理能力
3.1 提高CPU并发处理能力
1)多进程
多进程的好处不仅在于CPU时间的轮流使用,还在于对CPU计算和I/O操作进行很好的重叠利用,这里的I/O主要指磁盘I/O和网络I/O.实际上,大多数进程的时间主要消耗在I/O操作上,现代计算机的DMA技术可以让CPU不参与I/O操作的全过程,比如进程通过系统调用,使得CPU向网卡或者磁盘等I/O设备发出指令,然后进程被挂起,释放出CPU资源,等待I/O设备完成工作后通过中断来通知进程重新就绪。对于单任务而言,CPU大部分时间空闲,这时候多进程的作用尤为重要。
2)减少进程切换
进程拥有独立的内存空间,每个进程都只能共享CPU寄存器。一个进程被挂起的本质是将它在CPU寄存器中的数据拿出来暂存在内存态堆栈着那个,而一个进程恢复工作的本质就是把它的数据重新装入CPU寄存器,这段装入和移出的数据称为“硬件上下文”,除此之外,进程上下文还包含进程允许所需的一切状态信息。
当硬件上下文频繁装入和移出时,所消耗的时间是非常明显的。为了尽量减少上下文切换次数,最简单的做法就是减少进程数,尽量使用线程并配合其它