国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

workerman 在centos7.9 局域網(wǎng)下, http 服務(wù)上傳文件很慢?

thankyou

問題描述

內(nèi)網(wǎng)搭建的workerman http 服務(wù)上傳文件接口,我這邊測試了,上傳71kb的圖片,一共花費10多秒?
這邊查看TcpConnnection類baseRead方法那邊的代碼打印,發(fā)現(xiàn)卡在觸發(fā) event 讀取socket的事件發(fā)生很慢,但是baseRead方法執(zhí)行很快的, 就是觸發(fā)執(zhí)行者方法的事件很慢;網(wǎng)速方面,都是局域網(wǎng),這邊測試了網(wǎng)速都有 每秒3M的傳輸速度,不是卡在上傳速度,為什么觸發(fā) event 讀的事件很慢? 大神walkor幫忙解答一下哈?

代碼都是用框架workerman的代碼,沒動過的。
我截一下我打印的日志,如下圖
截圖
如上圖,上傳70多kb的圖片,觸發(fā)baseRead 10多次,且很慢觸發(fā)。

701 1 0
1個回答

walkor 打賞

運行命令 tcpdump -Ans 512 -iany port 8787 看下數(shù)據(jù)從開始傳輸?shù)絺鬏斖戤呌昧硕嗑?,如果很慢的話就是網(wǎng)絡(luò)傳輸問題

  • thankyou 2024-03-23

    我剛剛測了一下,用curl傳輸圖片很快,然后用瀏覽器 ajax傳輸很慢,都是走局域網(wǎng),很奇怪
    var data = new FormData();
    let objThis = document.getElementById('file_album');
    let tFileArr = [];
    for (i = 0; i < objThis.files.length; i++) {
    //tFileArr.push(objThis.files[i]);
    data.append('sys_file_' + i, objThis.files[i]);
    }

    $.ajax({
    url:"XXXXXXXXXXXXXXXXXX",
    timeout : 1000 * 300,
    contentType:false, //jQuery不要去設(shè)置Content-Type請求頭
    processData:false, //jQuery不要去處理發(fā)送的數(shù)據(jù)
    type:"post",
    cache:false, //不緩存
    dataType:'json', //返回類型json
    data: data, //表單數(shù)據(jù)
    success:function (res) {
    console.log(res);
    },
    error:function (error) {
    console.log(error);
    }
    });

  • thankyou 2024-03-23

    php curl 代碼模擬上傳圖片如下: 很快

    <?php

    function upload_image( $url , $file =null, $header =null) {
    $curl= curl_init ();
    curl_setopt ( $curl, CURLOPT_URL, $url);
    curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, FALSE );
    curl_setopt ( $curl, CURLOPT_SSL_VERIFYHOST, FALSE );
    //攜帶cookie文件
    // if(! empty($cookie)){
    // curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie); //讀取cookie
    // }
    //攜帶頭
    if(!empty($header)){
    $newHeader = [];
    foreach ($header as $k => $v){
    $newHeader[] = $k.': '.$v;
    }
    curl_setopt($curl, CURLOPT_HTTPHEADER, $newHeader);
    curl_setopt($curl, CURLOPT_HEADER, 1);//返回response頭部信息
    }
    //curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
    //$body = new \CURLFile('@'.realpath($file['path']));
    $body = curl_file_create($file['path'],$file['type'],$file['name']);
    //return $body;
    $fileData = ['upfile'=>$body];
    //發(fā)送post數(shù)據(jù)
    curl_setopt ( $curl, CURLOPT_POST, 1 );
    curl_setopt ( $curl, CURLOPT_POSTFIELDS, $fileData);
    curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt($curl, CURLOPT_ACCEPT_ENCODING, "gzip,deflate");
    $output= curl_exec ( $curl);

    if(empty($output)) return false;
    curl_close ( $curl);
    return $output;

    }

    $header = [
    'timeout' => 300,
    'verify' => false,
    'proxy' => '',
    'headers' => [
    'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36',
    'Referer' => 'https://www.xxxx.com/',
    'Accept-Encoding' => 'gzip, deflate, br',
    'Cookie' => "shopeasy_PHPSESSID=PKoxz8",
    "Connection" => "Keep-Alive",
    "Keep-Alive" => "300",
    ]
    ];
    //發(fā)布文章

    $header['headers']['Referer'] = 'http://192.168.0.7:5003';
    //判斷是否有圖片需要上傳

    //$fielPath = public_path('uploads').'/'.$data->image;
    $fielPath = realpath("./testa.jpg");
    //b.jfif
    $fielPath = realpath("./b.jfif");

    $header['headers']['Host'] = '192.168.0.7:5003';
    $header['headers']['Origin'] = 'http://192.168.0.7';
    $filename = basename($fielPath);
    $imageArr = getimagesize($fielPath);

    $fileData = [
    // 'media' => '@'.$fielPath,
    'path'=>$fielPath,
    'type'=>$imageArr['mime'],
    'name'=>$filename
    ];

    $uploadUrl = 'http://192.168.0.7:5003/?ct=file&ac=upload';

    $header['headers']['Content-Type'] = 'multipart/form-data';

    $header['headers']['Content-Disposition'] = 'multipart/form-data;name="upfile"; filename="'.$filename.'"';

    $imageRes = upload_image($uploadUrl,$fileData,$header['headers']);

    print_r($imageRes);

年代過于久遠,無法發(fā)表回答
??