django+uwsgi+nginx数据表过大引起"out of memory for query result"
昨天负责的一个项目突然爆“out of memory for query result”。
背景
项目的数据表是保存超过10m的文本数据,通过json方式保存进postgres中,上传一个13m的大文件处理过程中出错。
怀疑
1 .celery进程过多
一开始怀疑celery进程过多导致的内存不足引起,查了一个有46个celery进程,
改为5个worker,状况没得到改善。
2.postgres work_mem过小
接着环境postgres的work_mem配置过小,默认是4m,改大后照样无效果。
3.django进程问题
重新用runserver 运行,上传大文件,通过,也就是无django无关
4.uwsgi配置
查了google,将limit-as改为2046无效果,改为9999无效果。
尝试
经过上述实践,已经找到问题的根源,就是uwsgi进程内存过大后报错了,所以换gunicorn这个python服务器替换。
用gunicorn替换uwsgi,上传后出现timeout,看来是默认超时时间过短,改为300s,再上传大文件,完美通过。
django+uwsgi+nginx数据表过大引起"out of memory for query result"的更多相关文章
- Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)
Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...
- django+uWSGI+nginx的工作原理流程与部署过程
django+uWSGI+nginx的工作原理流程与部署过程 一.前言 知识的分享,不应该只是展示出来,还应该解释这样做是为什么... 献给和我一样懵懂中不断汲取知识,进步的人们. 授人与鱼,不如授人 ...
- Django+uwsgi+nginx+angular.js项目部署
这次部署的前后端分离的项目: 前端采用angular.js,后端采用Django(restframework),他俩之间主要以json数据作为交互 Django+uwsgi的配置可以参考我之前的博客: ...
- 10: Django + Uwsgi + Nginx 的生产环境部署
1.1 一些重要概念 1.Web协议介绍 Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi 1. CGI: 最早的协议 2. FCGI: 比CGI快 ...
- CentOS7.4部署Python3+Django+uWSGI+Nginx
CentOS7.4部署Python3+Django+uWSGI+Nginx http://www.showerlee.com/archives/2590
- virtualvenv+django+uWSGI+nginx 部署
原创博文 转载请注明出处! 1. virtualvenv 2. django 3. uWSGI 4. nginx 5. 踩坑记录 1. virtualvenv virtualvenv install ...
- django+uwsgi+nginx部署(非常详细)
django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...
- Django+uWSGI+Nginx 部署网站
Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject. ...
- python django uwsgi nginx安装
python django uwsgi nginx安装 已安装完成python/django的情况下安装 pip install uwsgi cd /usr/share/nginx/html/ vim ...
随机推荐
- maven 打包zip,jsw相关
参考链接: https://blog.csdn.net/masson32/article/details/51802732
- caffe,Inception v2 Check failed: top_shape[j] == bottom[i]->shape(j)
使用Caffe 跑 Google 的Inception V2 对输入图片的shape有要求,某些shape输进去可能会报错. Inception model中有从conv和pooling层concat ...
- UBUNTU安装 Rabbitvsc可视化版本控制客户端软件
sudo add-apt-repository ppa:rabbitvcs/ppa sudo apt-get update sudo apt-get install rabbitvcs-core ra ...
- 牛客第三场多校 H Diff-prime Pairs
链接:https://www.nowcoder.com/acm/contest/141/H来源:牛客网 Eddy has solved lots of problem involving calcul ...
- Java NIO系列教程
http://ifeve.com/overview/ http://tutorials.jenkov.com/java-nio/nio-vs-io.html
- 2016ICPC-大连 A Simple Math Problem (数学)
Given two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a Least Common ...
- 【Python】Excel-3
1. 导入Excel模块:from openpyxl import Workbook 2. 创建Excel对象:wb=Workbook() 3. 创建sheet:ws1=wb.create_sheet ...
- this -- apply或call调用
apply 和 call 这两个方法可以切换函数执行的上下文环境,也就是改变this绑定的对象.apply和call比较类似,区别在于传入参数时一个要求是数组,一个要求是分开传入.所以我们以apply ...
- WSDL 文档-一个简单的 XML 文档
WSDL 文档是利用这些主要的元素来描述某个 web service 的: <portType>-web service 执行的操作 <message>-web service ...
- 使用 TortoiseSVN 创建 svn branch
1.使用TortoiseSVN->Repo-browser进入仓库. 2.选择需要创建分支的文件->Copy to 添加分支路径后,点击ok Rename:trunk路径 格式:https ...