一、上传下载速度优化
首先明确可道云没有对上传下载做任何限制,速度快慢和网络环境有关。可道云是基于http上传,所以和其他http上传速度基本一致;可以对比其他web系统或网站说附件上传速度。同其他例如webdav、FTP、QQ传输等软件底层协议不一样;传输速度也会不一样。
传输速度受三方面影响:
本机客户端:网卡、连接方式(有线、无线)、本机磁盘IO负载情况;
网络环境:网络带宽、wifi还是网线等造成的影响;网络环境复杂、或使用人多时路由器或交换机处理速度也都会是瓶颈之一。
服务器:受服务器负载、磁盘IO、服务器网络带宽等影响。同时受并发影响;比如20M上行带宽,10个人同时在上传或下载,那么每个人平均就是2M/s
可道云为了能在更多的服务器环境下良好运行,各方面配置是以兼容性为主,可能并不是最优配置。性能调优可以参考配置如下。
1. 服务器环境
推荐linux系统服务器:如centos7、RedHat、Ubuntu
推荐nginx + php7 组合;nginx比Apache、IIS各方面效率更优
2.修改php.ini上传限制
max_execution_time = 3600
max_input_time = 3600
post_max_size = 150M
upload_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.开启登陆验证码
设置方法:管理员登陆可道云:右上角菜单——系统设置——安全设置——开启登陆验证码
3. 其他服务器运维优化
建议全站使用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/";