我正在尝试向我的服务器发送大量查询。当我打开某个网站(带有某些参数)时,它会向我的服务器发送一个查询,并在我的服务器上进行计算。
现在我正在使用curl重复打开网站,但是当我这样做时,网站内容会下载到我的计算机上,这需要很长时间而且没有必要。我想知道如何不使用curl打开网站,或者在没有实际下载网页的情况下使用curl。
答案 0 :(得分:1)
并行执行请求,如下所示:
#!/bin/bash
url="http://your.server.com/path/to/page"
for i in {1..1000} ; do
# Start curl in background, throw away results
curl -s "$url" > /dev/null &
# Probably sleep a bit (randomize if you want)
sleep 0.1 # Yes, GNU sleep can sleep less than a second!
done
# Wait for background workers to finish
wait
curl
仍会将内容下载到您的计算机,但基本上是客户端不下载内容的测试不太现实。
显然,上述解决方案受到测试服务器的网络带宽的限制 - 通常比Web服务器的带宽更差。对于逼真的带宽测试,您需要使用多个测试服务器。
然而,特别是在涉及动态网页时,带宽可能不是带宽,而是内存或CPU。对于这样的压力测试,单个测试机器就足够了。