一、上傳下載速度優化
首先明確可道雲沒有對上傳下載做任何限制,速度快慢和網絡環境有關。可道雲是基於http上傳,所以和其他http上傳速度基本一致;可以對比其他web系統或網站說附件上傳速度。同其他例如webdav、FTP、QQ傳輸等軟件底層協議不一樣;傳輸速度也會不一樣。
傳輸速度受三方面影響:
本機客戶端:網卡、連接方式(有線、無線)、本機磁盤IO負載情況;
網絡環境:網絡帶寬、wifi還是網線等造成的影響;網絡環境復雜、或使用人多時路由器或交換機處理速度也都會是瓶頸之一。
服務器:受服務器負載、磁盤IO、服務器網絡帶寬等影響。同時受並發影響;比如20M上行帶寬,10個人同時在上傳或下載,那么每個人平均就是2M/s
可道雲為了能在更多的服務器環境下良好運行,各方面配置是以兼容性為主,可能並不是最優配置。性能調優可以參考配置如下。
服務器環境
推薦linux系統服務器:如centos7、RedHat、Ubuntu
推薦nginx + php7 組合;nginx比Apache、IIS各方面效率更優
2.修改php.ini上傳限制
max_execution_time = 3600
max_input_time = 3600
post_max_size = 150
Mupload_max_filesize = 150M
3.修改可道雲配置
在config/下新建 setting_user.php文件;粘貼如下內容;(已存在則略過)
<?php
//分片上傳: 每個切片5M,需要php.ini 中upload_max_filesize大於此值
$GLOBALS['config']['settings']['updloadChunkSize'] = 1024*1024*5;//上傳並發數量; 推薦15個並發;$GLOBALS['config']['settings']['updloadThreads'] = 15;
4.nginx + php-fpm上傳優化
在nginx.conf中添加如下代碼,參考,更多nginx優化
#使用共享內存做臨時存貯提高上傳速度,共享內存需要大一些,否則上傳大文件內存不足
client_body_in_file_only clean;
client_body_temp_path /dev/shm 1 2;
fastcgi_param REQUEST_BODY_FILE $request_body_file;
二、系統安全優化1.開啟防跨站系統管理員可以訪問服務器任意資源,如果不想這樣,可以開啟php防跨站,指定某個站點open_basedir,只能訪問某個目錄。可以有如下幾種方式設置:更多請參考
# 1)php.ini 中配置
open_basedir = /home/wwwroot/:/tmp/# 2)nginx中配置 fastcgi.conf
fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/";# 3)apache 的 httpd.conf 中Directory配置
"php_admin_value open_basedir none" #關閉
php_admin_value open_basedir "/home/wwwroot/:/tmp/:/var/tmp/:/proc/"# 4).user.ini 站點根目錄open_basedir = /home/wwwroot/:/tmp/
2.開啟登陸驗證碼
設置方法:管理員登陸可道雲:右上角菜單——系統設置——安全設置——開啟登陸驗證碼
其他服務器運維優化
建議全站使用https,避免傳輸中數據被竊聽。
設置服務器防火牆,關閉無關端口
關注安全相關新聞,保持服務器相關軟件為最新版本。
三、其他優化
1.靜態資源配置到CDN
對於訪問量比較大的站點,可以將可道雲的靜態資源遷移到CDN。步驟如下:
先將kod下面的static上傳到相應cdn,獲得對應訪問static目錄的域名,例如: http://cdn.test.com/static/
配置setting_user.php 配置cdn地址: 在config/下新建 setting_user.php文件;粘貼如下內容;(已存在則不需要新建)
<?php
$GLOBALS['config']['settings']['staticPath'] = "http://cdn.test.com/static/";