superset二次開發-部署後的性能優化
本篇主要講三件事:
1、以守護線程的方式運行superset
2、採納官方文檔的建議,用協程處理請求,減少等待時間3、負載均衡+壓縮js文件。
各位看官可按需閱讀,三件事情並不互相影響。
一、以守護線程的方式運行superset
文件:superset/cli.py
改動:runserver方法,在DEBUG模式的代碼里,為gunicorn添加一個daemon的參數。
--daemon # daemonn
啟動:用命令行,和官方的一模一樣
superset runservern
停止:用命令行
lsof -n -P| grep :8088 //找到進程nkill 進程號n
代碼截圖:
二、用協程處理請求
2.1 安裝gevent(我使用的是1.2.2版本)
pip install geventn
2.2 添加gevent參數
文件:superset/cli.py 改動:runserver方法,在DEBUG模式的代碼里,為gunicorn添加一個gevent的參數。-k gevent # asyncn
2.3 啟動和官方一模一樣
superset runservern
代碼截圖:
效果截圖:
官方文檔截圖:
三、負載均衡+壓縮js文件
一段廢話:此操作因為要各種調試,不熟練的話請慎重評估時間,但是一旦配置妥當,好處也是很明顯的,比如你的js文件從6、7mb壓縮到了2mb。
3.1 自行安裝nginx
3.2 修改nginx.conf文件
nginx.conf代碼:
user nginx;nworker_processes 1;nnerror_log /var/log/nginx/error.log warn;npid /var/run/nginx.pid;nnnevents {n worker_connections 1024;n}nnnhttp {n include /etc/nginx/mime.types;n default_type application/octet-stream;nn log_format main $remote_addr - $remote_user [$time_local] "$request" n $status $body_bytes_sent "$http_referer" n "$http_user_agent" "$http_x_forwarded_for";nn access_log /var/log/nginx/access.log main;nn sendfile on;n #tcp_nopush on;nn keepalive_timeout 65;nn// 壓縮文件部分n ## Gzip Settings n #n gzip on;n gzip_min_length 1000;n gzip_buffers 4 8k;n gzip_http_version 1.0;n gzip_disable "msie6";n gzip_types text/plain text/css application/json application/javascript application/x-javasc ript text/xml application/xml application/xml+rss text/javascript;n gzip_vary on;nnn// 負載均衡部分n upstream erm {n server 0.0.0.0:0000; // 寫自己的伺服器IP和埠n server 0.0.0.0:0000; // 寫自己的伺服器IP和埠n }nn server {n listen 8088;n server_name _;n charset utf-8;n location / {n root html;n index index.html index.htm;n proxy_pass http://erm;n proxy_set_header X-Real-IP $remote_addr;n client_max_body_size 100m;n }nnn location ~ ^/(WEB-INF)/ {n deny all;n }nn error_page 500 502 503 504 /50x.html;n location = /50x.html {n root /var/www/html/;n }n }n}n
截圖:
推薦閱讀:
※Three.js 入門與掃盲-基礎結構,坐標系與幾何類型介紹
※這張非常漂亮的餅圖怎麼畫出來的?
※我乎《竇唯目前在幹什麼》引發的熱浪後分析
※pyecharts + Jupyter Notebook 數據可視化,還要啥 PPT?
※當我們發一個emoji,我們到底在發什麼?|英語言國家emoji調查(來源:highspeedinternet.com)