基于ATS的视频服务器并发压力测试

时间:2022-11-07 23:24:45

Apache Traffic Server(ATS或TS)是一个高性能的、模块化的 HTTP 代理和缓存服务器。
ATS的作用是,在客户首次请求后将请求的目标文件从源站服务器缓存到ATS服务器内存中,当接收到下一个相同目标文件的请求后就直接从ATS缓存中读取数据而不用再次请求到源站,从而提高网络中视频文件播放速度。
在这之前的视频文件并发播放的测试一直是使用ffmpeg跟脚本结合的方式进行的,这次同样按照这样的方式来进行。
ffmpeg -seekable 1 -i urlpath -vcodec copy -acodec copy -f flv /dev/null 2> /dev/null这个命令可以播放源站的视频并且-seekable参数支持从ATS缓存读取视频流,urlpath就是视频地址。使用了seekable命令后,一旦源站的视频缓存到了ATS服务器,那后面的视频请求都会从ATS缓存中获取不会再对源站造成压力。
这里只是说明测试脚本最主要的部分,其他的就是如何实现并发以及一些时间记录。
并发可以使用python的multiprocessing的Pool,这样很方便控制并发数量。