浅谈Web服务端性能

浅谈Web服务端性能

一.概念

关于web服务端的性能,我们测试人员一般关心几个参数:用户并发数量、响应时间、持续性。
1.用户并发数量
在系统可承受范围内,并发用户数越多表明系统的请求数量越多,请求数量越多代表系统的吞吐量就越大(吞吐量是衡量网络性能的重要指标,代表网络传输数据的多少。)

2.响应时间
用户请求数据到用户收到响应的的这段时间
响应时间
3.持续稳定性
在一定的负载压力下,系统程序无出现任何异常情况。

二.瓶颈的确认

1.是否存在瓶颈
关于服务端是否存在瓶颈,我们可以通过jmeter的接口响应是否有Error来判断

2.瓶颈的位置确认
(a).可以通过查看任务管理器硬件资源是否饱和。
(b).通过服务端的log_error的打印信息,比如内存泄露问题,内存资源没有及时的释放。性能测试最容易发现这种问题。

3.关于瓶颈的排查,我们可以从以下几个节点入手:
服务端硬件->网络(如果是局域网,这块一般不会有瓶颈)->Web服务器(业务逻辑的实现)->数据库(设计是否合理、是否存在多层级的约束关联、是否有做索引、SQL语句)。

三.调优

1.数据库主从机读写分离
使用场景
访问量(几百或几千用户)和存储量比较大的情况下,数据存储在硬盘。并且读的占比很大。
实现方式
数据库实现方式
2.redis集群读写分离
使用场景
访问量(几万或百万用户)和存储量比较大的情况下,数据临时在内存。并且读的占比很大。相当于数据库读写分离的加强版。
实现方式
web服务器会同时把数据写到redis和rabbitMQ中,web服务器读redis,如果redis中没有数据就去读mysql,大大的提高了运行速度。
redis实现方式
3.图片、视频文件
我们可以把图片、视频文件转化为二进制流专门放在一个数据库中。eg:MongoDB

发布了21 篇原创文章 · 获赞 1 · 访问量 378

猜你喜欢

转载自blog.csdn.net/songteng2012/article/details/105481277