nginx proxy_buffer_size 解决后端服务传输数据过多,其实是header过大的问题

这三个参数已设置就搞定了额

proxy_buffer_size 64k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;

本着精益求精的精神我翻了官网

官网解释

总体来说我还是没懂。我把报错信息放出来,以后用得着。

开发说nginx502了,后端访问jesery没问题

不行
curl -i -v "test.lebi.letv.cn/report/rest/saiku/api/query/7C53220D-A870-1FE3-9353-4A6F967F25CB/result/metadata/hierarchies/%5BDM_REC.DIM_LIVE_STATION%5D.%5BDM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME%5D/levels/DM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME?result=false&_=1489736122190"
可以
curl -i -v "http://10.142.165.45:8080/report/rest/saiku/api/query/7C53220D-A870-1FE3-9353-4A6F967F25CB/result/metadata/hierarchies/%5BDM_REC.DIM_LIVE_STATION%5D.%5BDM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME%5D/levels/DM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME?result=false&_=1489736122190"

日志对比

返回502
"10.73.137.12","[17/Mar/2017:16:32:08 +0800]","HTTP/1.1","-","GET","/report/rest/saiku/api/query/7C53220D-A870-1FE3-9353-4A6F967F25CB/result/metadata/hierarchies/%5BDM_REC.DIM_LIVE_STATION%5D.%5BDM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME%5D/levels/DM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME?result=false&_=1489736122190","502","http://test.lebi.letv.cn/report/rest/saiku/api/query/7C53220D-A870-1FE3-9353-4A6F967F25CB/result/metadata/hierarchies/%5BDM_REC.DIM_LIVE_STATION%5D.%5BDM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME%5D/levels/DM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME?result=false&_=1489736122190","172","0.157","10.142.165.45:8080","-","curl/7.35.0","0.157","329","328" 正常了
"10.73.137.12","[17/Mar/2017:16:32:47 +0800]","HTTP/1.1","-","GET","/report/rest/saiku/api/query/7C53220D-A870-1FE3-9353-4A6F967F25CB/result/metadata/hierarchies/%5BDM_REC.DIM_LIVE_STATION%5D.%5BDM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME%5D/levels/DM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME?result=false&_=1489736122190","200","http://test.lebi.letv.cn/report/rest/saiku/api/query/7C53220D-A870-1FE3-9353-4A6F967F25CB/result/metadata/hierarchies/%5BDM_REC.DIM_LIVE_STATION%5D.%5BDM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME%5D/levels/DM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME?result=false&_=1489736122190","1342118","4.350","10.142.165.45:8080","-","curl/7.35.0","0.180","329","1346306"

我测了下,返回的json数据大约1.3M,可能是返回值太大,超过了阈值,但是超过了哪个呢,比较纠结。

查看error日志得到upstream sent too big header while reading response header from upstream,说header太大了。好好学习下header

2017/03/17 16:32:08 [error] 17441#0: *403548696 upstream sent too big header while reading response header from upstream, client: 10.73.137.12, server: test.lebi.letv.cn, request: "GET /report/rest/saiku/api/query/7C53220D-A870-1FE3-9353-4A6F967F25CB/result/metadata/hierarchies/%5BDM_REC.DIM_LIVE_STATION%5D.%5BDM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME%5D/levels/DM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME?result=false&_=1489736122190 HTTP/1.1", upstream: "http://10.142.165.45:8080/report/rest/saiku/api/query/7C53220D-A870-1FE3-9353-4A6F967F25CB/result/metadata/hierarchies/%5BDM_REC.DIM_LIVE_STATION%5D.%5BDM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME%5D/levels/DM_REC.DIM_LIVE_STATION.LIVE_STATION_NAME?result=false&_=1489736122190", host: "test.lebi.letv.cn"

nginx proxy_buffer_size 解决后端服务传输数据过多,其实是header过大的问题的更多相关文章

  1. Nginx部署前后端分离服务

    飘过... 一,安装Nginx 二,配置nginx 一般nginx配置文件在etc目录下 另,如何找nginx.conf配置文件: 在前后端分离端项目里,前端的代码会被打包成为纯静态文件.使用 Ngi ...

  2. 在nginx配置将请求转发到某个真实后端服务ip

    一.打开nginx机器的nginx配置文件 命令: locate nginx.conf 会列出所有nginx.conf文件的地址, 一般咱们要用的nginx配置文件是/usr/local/nginx/ ...

  3. nginx的web缓存服务环境部署记录

    web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...

  4. Nginx+upstream针对后端服务器容错的运维笔记

    熟练掌握Nginx负载均衡的使用对运维人员来说是极其重要的!下面针对Nignx负载均衡upstream容错机制的使用做一梳理性说明: 一.nginx的upstream容错 1)nginx 判断节点失效 ...

  5. 生产环境中nginx既做web服务又做反向代理

    一.写对于初入博客园的感想 众所周知,nginx是一个高性能的HTTP和反向代理服务器,在以前工作中要么实现http要么做反向代理或者负载均衡.尚未在同一台nginx或者集群上同时既实现HTTP又实现 ...

  6. 七、Nginx学习笔记七Nginx的Web缓存服务

    user www; worker_processes 1; error_log /usr/local/nginx/logs/error.log crit; pid /usr/local/nginx/l ...

  7. 微信后端服务架构及其过载控制系统DAGOR

    微信架构介绍   眼下的微信后端包含3000多个移动服务,包括即时消息.社交网络.移动支付和第三方授权.该平台每天收到的外部请求在10 ^10个至10^11个.每个这样的请求都会触发多得多的内部微服务 ...

  8. 【Nginx】使用Nginx如何解决跨域问题?看完这篇原来很简单!!

    写在前面 当今互联网行业,大部分Web项目基本都是采用的前后端分离模式.前端为H5项目,后端为Java.PHP.Python等项目.而且大部分后端服务并不会只部署一套服务,而是会采用Nginx对后端服 ...

  9. 容易被忽视的后端服务 chunked 性能问题

    容易被忽视的后端服务 chunked 性能问题 标签(空格分隔): springboot springmvc chunked 背景 spring boot 创建的默认 spring mvc 项目 集成 ...

随机推荐

  1. 利用JS调取电脑摄像头,实现拍照功能

    1.调取电脑摄像头非常简单,看代码一幕了然 window.addEventListener("DOMContentLoaded", function() { var canvas ...

  2. [【转】ubuntu 16.10 Server 安装及基本部署

    一.Ubuntu Server 16.10 LTS 系统安装 Ubuntu 16.10 分为 桌面版 (desktop)和服务器版(Server).两者对于用户而言,最大的区别在于桌面版有图形操作界面 ...

  3. jmeter插件之jsonpath提取响应结果和做断言

    准备工作: 1. jmeter3.X已经自带了提取响应结果的插件:JSON Extractor 2. 下载断言插件:https://jmeter-plugins.org/wiki/JSONPathAs ...

  4. 『Golang』MongoDB在Golang中的使用(mgo包)

    有关在Golang中使用mho进行MongoDB操作的最简单的例子.

  5. jsp 中获取自定义变量

    首先确定El表达式的查找范围: 依次从Page.Request.Session.Application 中的 attribute属性中查找. <% String basePath = reque ...

  6. jmeter完成CAS登录,并获取token(原创)

    思路: 1.系统完成CAS登录需要验证用户名/密码,以及动态授权参数 2.先通过指定url用正则提取出动态授权参数 3.完成登录需要cookie,需用正则提取出对应的cookie,已完成参数化的自动登 ...

  7. Leetcode 674.最长递增序列

    最长递增序列 给定一个未经排序的整数数组,找到最长且连续的的递增序列. 示例 1: 输入: [1,3,5,4,7] 输出: 3 解释: 最长连续递增序列是 [1,3,5], 长度为3. 尽管 [1,3 ...

  8. JavaSE复习(四)File类与IO流

    File类 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例. public File(String parent ...

  9. 【bzoj2438】[中山市选2011]杀人游戏 Tarjan

    题目描述 一位冷血的杀手潜入 Na-wiat,并假装成平民.警察希望能在 N 个人里面,查出谁是杀手.警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是杀手, 谁是平民 ...

  10. Codeforces Round #390 (Div. 2) E(bitset优化)

    题意就是一个给出2个字符矩阵,然后进行匹配,输出每个位置的匹配的结果 (超出的部分循环处理) 一种做法是使用fft,比较难写,所以没有写 这里使用一个暴力的做法,考虑到一共只出现26个字符 所以使用一 ...