对于我的学士论文,我必须测试一些容器运行时。像Docker,Lxc,runC,Rocket和OpenVZ。
我的测试协议很简单,我从未进行过测试或基准测试,所以很抱歉我是新手:-)。你能告诉我我的考试是否相关吗?
所以,很简单,我将启动一个带有nginx服务器的容器并安装一个index.php文件。我会在其中写入phpinfo()。我将监控内存使用情况和CPU使用情况以及网络使用情况。
首先是0请求,然后是很多,直到我可以让容器崩溃。所以一切都要受到监控。
我需要一些工具,我真的不知道用什么来发送大量的请求或监控容器。如果有人可以帮助我一点点,那就太棒了。
答案 0 :(得分:0)
我使用Siege取得了相当大的成功。它非常易于安装和使用,可以用来很难打到你的服务器。
siege -u yoursite.com/docker-test/ -d1 -r10 -c25
将准备25个并发工作者在服务器上点击10次,每次请求之间的延迟时间为0到1秒。
您可以使用配置文件来创建更复杂的测试,例如缓慢增加的测试。然后,您可以运行它并随时监视资源。 nginx的一个方便的工具(不太可能是你的瓶颈)提供基于日志的一些实时统计是ngxtop。我之前使用过,它帮助测试了失败发生的地方。
至于监控容器/运行时本身,您经常会寻找一些东西。内存/ CPU利用率(很容易从top
或ps
等工具中获取。请告诉我这是在linux上),响应率和失败率。你会注意到随着请求率的增加,响应将开始花费更长的时间,直到某些时间因为某些其他原因(内存不足等)而失败或失败。您需要做的是跟踪某些负载下每种容器类型的故障发生情况。我会把它留给你。