curl多執行緒批量請求

2021-09-01 11:27:51 字數 714 閱讀 7598

測試經常遇到檢視大資料量url請求是否正常。單執行緒跑的太慢

可以自定義執行緒數進行跑,細節不多說,其實我也是上網上湊的,拿下來修修改改能用即可。

#!/bin/bash

ttime=`date +"%y-%m-%d %h:%m:%s"`

#允許的執行緒數

thread_num=5

#定義描述符為9的管道

mkfifo tmp

exec 9<>tmp

#預先寫入指定數量的換行符,乙個換行符代表乙個程序

for((i=0;i<$thread_num;i++))

do echo -ne "\n" 1>&9

done

if [ $# -ne 1 ]

then

echo "the parameters you enter is not correct!";

exit -1;

fiwhile read line

do $line`

if [ $isok = "200" ];then

echo $line "ok"

else

echo $line "no"

fiecho -ne "\n" 1>&9

}&}done <$1

wait

echo "執行結束"

rm -rf tmp

CURL 多執行緒問題

curl 多執行緒問題 預設情況下libcurl完成乙個任務以後,出於重用連線的考慮不會馬上關閉 如果沒有新的tcp請求來重用這個連線,那麼只能等到close wait超時,這個時間預設在7200秒甚至更高,太多的close wait連線會導致效能問題 解決方法 curl easy setopt c...

curl 多執行緒抓取

php curl 多執行緒抓取 curl 多執行緒 param array array 並行 param int timeout 超時時間 防止死迴圈耗死cpu 這段是根據網上的寫法 do while mrc curlm call multi perform 當正在接受資料時 while activ...

CURL多執行緒抓取網頁

網上這類方法似乎太多了。但是總是有一些問題存在。對於多執行緒抓取,現在有如下幾種思路 1.用apache的多執行緒特性,讓php進行 多程序 操作,就像post本身一樣 2.用curl的curl multi庫 對於第一種,我還沒嘗試,因為這種製造的是偽多執行緒,也許效率會低很多,而且不好控制。第二種...