让脚本睡100ms
故事背景 当我们需要对所开发的服务进行一些简易的自动化测试,但是又不算是压力测试时,我们常常会编写这样的脚本: ... while read line; do curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d $line http://localhost:6666/test -s done <${test_data_file} ... 存在问题 如果这个请求只涉及到很简单的服务器信息返回,倒也问题不大,但是往往我们测试的内容会涉及数据库的交互,尤其是MySQL这种需要多加看护,防止瘫痪的数据库。上面的脚本极有可能让数据库集群出现或者加剧主从不同步的问题。我们需要让这个脚本能够睡一会儿,哪怕一小会儿。保证MySQL的cpu和io不会飙高。 那我们根据实际的测试和考量,决定让脚本睡100ms,故上面的代码改成了下面这样: ... while read line; do sleep 0.1 curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d $line http://localhost:6666/test -s done <${test_data