服务器并发处理能力 - 1

一台Web服务器在单位时间内能处理的请求越多越好,这也成了Web服务器的能力高低所在,它体现了我们常说的"服务器并发处理能力"。

吞吐量

Web服务器的并发处理能力,一般使用单位时间内服务器处理的请求数来描述其并发能力,习惯称其为吞吐率(Throughput),单位是"reqs/s"。

并发用户数

人们常常把并发用户数和吞吐率混淆,实际上,它们并不是一回事,吞吐率是指在一定并发用户数的情况下,服务器处理请求能力的量化体现;并发用户数就是指在某一时刻同时向服务器发送请求的用户总数。

采用多线程的并发对于同一个域名下的URL的并发下载数是有最大限制的,具体限制视浏览器的不同而不同,比如,在HTTP/1.1下,IE7支持两个并发连接,IE8支持6个并发连接,Firefox3支持4个并发连接。另一方面,Web服务器一般也会限制同时服务的最多用户数,比如Apache的MaxClients参数。

CPU并发计算

服务器之所以可以同时处理个请求,在于操作系统通过多执行流体系设计使得多个任务可以轮流使用系统资源,这些资源包括CPU、内存以及I/O等。

进程

多执行流的一般实现便是进程。

进程的调度由内核来进行,从内核的观点来看,进程的目的就是担当分配系统资源的实体。同时,进程也可以理解为记录程序实例当前运行到什么程度的一组数据,多个进程通过不同的进程描述符与这些数据进程关联。

每个进程都有自己独立的内存地址和生命周期。进程的创建使用fork()系统调用。

轻量级进程

This chapter requires login to view full content. You are viewing a preview.

Login to View Full Content

Course Curriculum

3

框架与 I/O:Spring、Netty 与 Web 容器

理解 Spring Boot 自动装配、AOP 与事务原理,掌握 Netty Reactor 模型及 Tomcat 连接处理机制,构建高内聚、易扩展的应用服务层。
4

高性能中间件:消息、缓存与存储

熟练运用 MySQL 索引/事务、Redis 缓存策略、Kafka/RocketMQ 消息可靠性,以及 ZooKeeper 分布式协调,搭建稳定、解耦的分布式数据底座。
6

云原生:容器化、可观测性与工程效能

通过 Docker/K8s 实现弹性部署,集成 Metrics/Logs/Traces 构建可观测体系,推动 DevOps 与自动化,让架构在云上持续交付与进化。