配置優(yōu)化

2024-07-17 23:47 更新

為了獲取更多最新內(nèi)容及功能更新,請(qǐng)直接訪問我們的首頁以查看DzzOffice筆記的最新地址。

上傳下載速度優(yōu)化

首先明確DzzOffice沒有對(duì)上傳下載做任何限制,速度快慢和網(wǎng)絡(luò)環(huán)境有關(guān)。DzzOffice是基于http上傳,所以和其他http上傳速度基本一致;可以對(duì)比其他web系統(tǒng)或網(wǎng)站說附件上傳速度。同其他例如webdav、FTP、QQ傳輸?shù)溶浖讓訁f(xié)議不一樣;傳輸速度也會(huì)不一樣。

傳輸速度受三方面影響:

  1. 本機(jī)客戶端:網(wǎng)卡、連接方式(有線、無線)、本機(jī)磁盤IO負(fù)載情況;
  2. 網(wǎng)絡(luò)環(huán)境:網(wǎng)絡(luò)帶寬、wifi還是網(wǎng)線等造成的影響;網(wǎng)絡(luò)環(huán)境復(fù)雜、或使用人多時(shí)路由器或交換機(jī)處理速度也都會(huì)是瓶頸之一。
  3. 服務(wù)器:受服務(wù)器負(fù)載、磁盤IO、服務(wù)器網(wǎng)絡(luò)帶寬等影響。同時(shí)受并發(fā)影響;比如100M上行帶寬,10個(gè)人同時(shí)在上傳或下載,那么每個(gè)人平均就是10M/s。

主要是由于服務(wù)器限制了上傳大小,或超時(shí)時(shí)間太短引起。推薦如下配置:

  1. 修改nginx的配置文件
client_max_body_size 500M; client_header_timeout 3600s; client_body_timeout 3600s; fastcgi_connect_timeout 3600s; fastcgi_send_timeout 3600s; fastcgi_read_timeout 3600s;

其他webserver相應(yīng)修改類似限制;如apache需要修改LimitRequestBody修改完成重啟nginx生效: service nginx reload

  1. 修改php配置文件php.ini
post_max_size = 500M; upload_max_filesize = 500M; memory_limit = 500M; max_execution_time = 3600; max_input_time = 3600; # php中設(shè)置set_time_limit無效(safe_mode=on時(shí)php代碼中修改超時(shí)無效) php.ini safe_mode = off # php-fpm.conf 配置優(yōu)化(超時(shí)時(shí)間; 4G內(nèi)存推薦如下子進(jìn)程配置) request_terminate_timeout 3600 pm.max_children = 50 pm.start_servers = 10 pm.min_spare_servers = 10 pm.max_spare_servers = 30 pm.max_requests = 500
注意:
  • 如果某一類例如exe文件不能上傳,其他文件可上傳, 一般是服務(wù)器(殺毒軟件或防火墻)做了攔截誤判,取消相應(yīng)軟件上攔截即可;
  • 超時(shí)時(shí)間設(shè)置; 如果經(jīng)常有超大文件上傳,php和nginx超時(shí)時(shí)間需要設(shè)置大一些;
  • 分片上傳: 一個(gè)大文件切分成多個(gè)分片上傳,所有片上傳完成后服務(wù)器自動(dòng)合并;一個(gè)分片上傳失敗只需要重傳該分片即可;
  • 分片大小設(shè)置: 管理員登陸后臺(tái)--基礎(chǔ)設(shè)置--上傳下載; 調(diào)整上傳分片大小; 必須小于php.ini和nginx的限制;
  • 修改了php或nginx配置文件后,需要重啟php-fpm和nginx;
  • 上傳文件限制及超時(shí)時(shí)間可以根據(jù)自己需求設(shè)置; 超時(shí)時(shí)間需大于文件上傳下載的時(shí)間,否則超時(shí)會(huì)導(dǎo)致操作失敗;
  1. 修改DzzOffice配置

設(shè)置方法:管理員登陸DzzOffice進(jìn)入后臺(tái)—系統(tǒng)設(shè)置—基礎(chǔ)設(shè)置—上傳設(shè)置

設(shè)置分片大小: 推薦5M大文件上傳時(shí)切分成片進(jìn)行并發(fā)上傳,從而實(shí)現(xiàn)加速和斷點(diǎn)續(xù)傳,此值必須必須小于php.ini中設(shè)置的post_max_size和upload_max_filesize的大小,分塊太大或太小都會(huì)影響上傳的性能,請(qǐng)根據(jù)服務(wù)器設(shè)置來調(diào)整此參數(shù),否則會(huì)引起上傳異常(上傳失敗,進(jìn)度回退)。

  1. nginx + php-fpm上傳優(yōu)化

在nginx.conf中添加如下代碼,參考

更多nginx優(yōu)化

#使用共享內(nèi)存做臨時(shí)存貯提高上傳速度,共享內(nèi)存需要大一些,否則上傳大文件內(nèi)存不足 client_body_in_file_only clean; client_body_temp_path /dev/shm 1 2; fastcgi_param REQUEST_BODY_FILE $request_body_file;

問題1

文件上傳速度慢,例如在網(wǎng)盤上傳文件時(shí)感覺上傳速度限速了。

原因分析與解決方法

上傳速度受到多種因素的影響,在此我們將探討Dzz系統(tǒng)中的相關(guān)配置。Dzz系統(tǒng)采用分塊上傳文件的方式,即將整個(gè)文件分割為多個(gè)部分進(jìn)行上傳。因此,我們需要設(shè)置分塊上傳的大小。當(dāng)文件大小超過該設(shè)定值時(shí),系統(tǒng)將自動(dòng)進(jìn)行分塊上傳。要配置分塊大小值,請(qǐng)按照提示進(jìn)行操作,然后重新配置分塊大小值并重新上傳文件進(jìn)行測試。重復(fù)此過程,直至文件成功上傳。

比如說當(dāng)服務(wù)器配置附件上傳僅允許100M,將分塊大小設(shè)置成10M,那么上傳速度就是下圖所示:

系統(tǒng)安全優(yōu)化

  1. 開啟登陸驗(yàn)證碼

設(shè)置方法:DzzOffice進(jìn)入后臺(tái)—系統(tǒng)設(shè)置——登錄設(shè)置——驗(yàn)證碼設(shè)置——開啟用戶登錄驗(yàn)證碼。

  1. 其他服務(wù)器運(yùn)維優(yōu)化
  • 建議全站使用https,避免傳輸中數(shù)據(jù)被竊聽。
  • 設(shè)置服務(wù)器防火墻,關(guān)閉無關(guān)端口
  • 關(guān)注安全相關(guān)新聞,保持服務(wù)器相關(guān)軟件為最新版本。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)