1
takwai 2013-11-30 11:49:58 +08:00
房间门
请求:一秒可以进去3个人。 并发:同一时间能否进去3个人? |
2
wodemyworld 2013-11-30 12:48:05 +08:00
网络基础不行
|
4
lecher 2013-11-30 13:45:44 +08:00 1
请求是每秒执行完的总数,并发是发起请求的用户数。
性能测试中每秒执行的总数不能完全体现系统的负载能力,所以根据实际场景还需要模拟并发量,就是多个用户同时请求同一个资源,系统是否能抗住负载。 web的瓶颈一般都在程序和数据库: 多用户同时发起请求时 web server是否能在限定的延时内接住所有请求 为保存这些用户会话所占用的网络联接数有多少,web server 是否都能保持住,检索会话的时间是多少 为响应请求的数据,程序需要开辟多少内存来保存数据 为处理请求,需要向数据库请求多少次数据 ORM模块支持多少并发向数据库提交请求 数据库在并发请求下的处理延时有多少 同时向数据库请求数据会占用多少内存 程序处理请求占用多少cpu资源 程序处理请求的延时有多少 这些数据颗粒度可能太细,没有定制好工具要拿颗粒度那么细的数据估计不容易。 那就监控进程的内存占用,进程的cpu占用率,webserver 响应时间。 进程的内存占用可以大致了解数据库占用多少内存,程序占用多少内存,webserver占用多少内存 进程的cpu占用率同样 webserver的响应时间大致可以了解请求处理的总时长。 工具分两种,压力源和监控 压力源要么自己写,业务不复杂的话用apache的ab去做也不错。企业级的loadrunner之类的很专业。 监控那就看实际场景了。简单的直接用系统内置的应用来看看,需要出报告的,就找几个监控软件配置上去做图表。 |
6
lecher 2013-11-30 14:07:03 +08:00 2
楼主肯定是基础知识积累的还不够,浏览器的通信机制,渲染流程;程序运行的处理流程;webserver的通信机制,处理请求的流程;数据库查询的处理流程这些基本的概念都没有理解.要做性能测试分析系统瓶颈不现实,如果确实看不懂,还是退一步,先回去看看更基础的概念吧,磨刀不误砍柴功的。
小应用其实做好这几个已经可以解决大部分的瓶颈问题了: 提高web server 接受并发请求的能力,用有epoll机制的web server。 增加处理的进程,在web server配置开多个进程同时处理请求。 降低数据库查询请求,用redis mongodb之类的内存数据库做缓存,保存查询结果到内存中。 如果做了这两个还存在瓶颈,考虑一下做负载均衡吧。不过那是架构师要考虑的问题。 |
8
yakczh 2013-11-30 14:56:24 +08:00
请求就是上电梯的人,并发就是电梯上楼的时候能装多少个人不掉下来
|
9
lecher 2013-11-30 17:16:59 +08:00
@gouera http权威指南可以帮助你了解浏览器和webserver都会做什么事情,但是涉及到性能的问题,你还需要看看操作系统原理 计算机组成原理一类的书才能了解更多相关的概念,比如cpu负载,内存占用,磁盘读写一类的事情对程序性能会有什么影响。
|
10
julyclyde 2013-12-01 11:06:24 +08:00
并发是“同时处于被处理阶段”的请求数
web请求的处理是需要时间的 |
11
julyclyde 2013-12-01 11:06:51 +08:00
为什么你在不懂这个的情况下去做这个事情呢?这难道不是虚构需求么?
|