zoukankan      html  css  js  c++  java
  • nginx 502 bad gateway

    以前从未出过问题,今天就不停的502 badgateway, 环境是nginx+django+uwsgi, django 版本1.11, uwsgi 2.0; 具体表现是nginx 502 badgateway, 但是django是可以收到消息的,但是无法返回, uwsgi 没有找到access的记录;

    nginx报错为

    upstream prematurely closed connection while reading response header from upstream, client: ip, server: ip, request: "POST url HTTP/1.1", upstream: "uwsgi://127.0.0.1:18001", host: "ip:19020"

    改nginx 的timeout是没有作用的

    nginx上游出错主动断开连接,可以看到是uwsgi的问题,uwsgi重启就ok了,可能是uwsgi的问题,是起了太多的项目了么,回头好好看一看uwsgi的配置教学,可能是配置出错了.

    然而并不是,出现这种情况一般都是自己的问题,处理业务中做了太多了数据库操作或者是不恰当的事务性处理(比如在事务中做复杂的逻辑计算),这些才是主要原因,

    有几个结论就是:

    1,少做数据库的操作,

    2,如果要做多个数据库的操作,尽可能合并到事务中去做,因为事务是在内存中进行的,然后只是写了一次硬盘所以会提高效率

    3,做事务性操作之前请现将逻辑计算完,因为事务性的操作会锁定表或者是行,其他业务不能够写对应的数据

  • 相关阅读:
    Spring IoC 容器和 AOP
    MySQL 锁与事务控制
    MySQL 存储引擎的选择
    如何理解MySQL 索引最左前缀原则
    MySQL 索引
    Java 线程池
    Java多线程 ReentrantLock、Condition 实现生产者、消费者协作模式
    Java多线程并发中 CAS 的使用与理解
    Java多线程中协作机制
    Mysql-SQL生命周期-show profile
  • 原文地址:https://www.cnblogs.com/mangmangbiluo/p/11443784.html
Copyright © 2011-2022 走看看