項(xiàng)目中需要上傳視頻,一個視頻150M左右,直傳基本上都是上傳失敗,所以改成了切片上傳,一個切片2M,這樣上傳一個視頻就得發(fā)70多個請求。
業(yè)務(wù)中一般至少要同時上傳3個視頻左右,總共發(fā)送的請求在200多,3個視頻傳完,總耗時基本在4分鐘左右。
隨著請求數(shù)量的加多,單個上傳切片的處理時間變得越來越長,有時候能達(dá)到2~3分鐘才能處理一個切片請求。
部分請求歷史
單個切片的請求
合并第一個文件,116M
合并第二個文件,116M
合并第三個文件,152M
服務(wù)器是8核16G,config/server.php
中的count
配置的是cpu_count() * 2
,在上傳文件時,我看了下服務(wù)器的負(fù)載,只有兩個進(jìn)程的cpu占用在2%多一點(diǎn),其他的全是0。
項(xiàng)目已經(jīng)做了nginx代理
upstream webman {
server 127.0.0.1:8787;
keepalive 10240;
}
server
{
listen 80;
server_name aaa.ccc;
index index.php index.html index.htm default.php default.htm default.html;
root /app/webman/public;
location /api/ {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, PUT, DELETE ,OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,Keep-Alive,User-Agent,Cache-Control,Content-Type,Authorization,token';
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass http://webman/;
client_max_body_size 200M;
}
...
其他配置省略
}
PHP版本:8.0.22,已經(jīng)開啟opcache
webman版本:1.4.8
config/server.php
中的count
的數(shù)量,感覺沒效果特來請教是配置不對,還是哪里有問題,上傳很慢。
希望各位大佬多提建議,謝謝。