构建高性能web站点

第三章、服务器并发处理能力

3.1 吞吐率

      单位时间请求数(reqs/s),也指单位时间数据传输量

      一些web服务器提供了查看吞吐率的方法,例如apache的mod_status模块

 

压力测试前提条件

 

1.并发用户数

2.总请求数

3.请求资源描述

 

  • 并发用户数,最大并发用户数,最大并发连接数

 

如果请求花费的时间比较少,可以最大并发用户数>最大并发连接数

如果请求花费的时间比较多,最大并发用户数<最大并发连接数

 

apache的mod_status提供最大并发用户数

  • 请求等待时间

用户请求平均等待时间

服务器请求处理平均时间

 

  • 硬件环境

商城柜台的故事,业务员头脑比较灵活的

 

 

  • 压力测试

压力测试工具软件,runerloader,jmeter,apche ab

例如:apache ab 测试服务器请求平均处理时间,不包括网络传输时间,用户pc计算时间

ab -n1000 -c10 url

 

3.2 CPU并发计算

 

CPU之所以能够处理多个请求,归功于操作系统多执行流体系设计,多个任务可以轮流分配系统资源,系统资源包括cpu,内存,IO.

 

进程

 

多流行体实现主要是进程。

 

线程

 

进程调度器

 

 虽然用户在单cpu可以运行多个任务,但是只有一个进程在运行,选择哪个进程运行,那要看优先级,优先级有进程本身决定,也可以是

 也可以动态调整他们的优先级,PR时间片长度,时钟个数,每个时钟多长时间,

 

系统负载

 

cat /proc/loadavg

 

IOWait

 


 

 

单核和多核

 

3.3 系统调用

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(构建高性能web站点)