问题描述
- 请教Apache同时并发原理的详解
-
想问问各位大虾:
本人刚学服务器,想了解一下apache的同时并发原理。
个人理解如下
比如说服务器是每1s接受一次访问,假定一个request的处理时间是1ms,那么在这一秒里面最大并发是1000。
如果超过1000的访问就会等待,导致request处理时间延长。以上是个人理解,如有错误烦请指出,希望能听听各位的意见。
谢谢
解决方案
如果服务器有1个cpu,那么是这样的。但是如果有多个,并发不能这么算。apache会开多个线程,并行处理这些请求,那么吞吐量可以更大。
解决方案二:
ApacheBench命令原理:
ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。
ab命令对发出负载的计算机要求很低,既不会占用很高CPU,也不会占用很多内存,但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也须注意,否则一次上太多的负载,可能造成目标服务器因资源耗完,严重时甚至导致死机。
时间: 2024-08-31 08:12:10