More than the maximum number of request parameters
前些时间,我们的的一个管理系统出现了点问题,原本运行的好好的功能,业务方突然讲不行了,那个应用已经运行了好多年了,并且对应的代码最近谁也没改动过,好奇怪的问题,为了解决此问题,我们查看了日志,发现请求的参数压根没有传到后台控制器之中,奇怪了!明明前端传递了好多参数过来了呀!线上系统比较重要,又需要马上使用必须赶紧解决呀!
提交请求时的页面反应,如下所示:

于是我们想在本地模拟同样的操作,可气的是本地压根没任何问题,好头疼,对于这样的问题确实是最令人头疼的,同样的代码一边运行不了,一边屁事没有,后来又重新的询问用户是怎么操作的,我们载严格的操作一遍,可是在本地还是没有任何问题,后来想到,我们的操作行为是一样的,但是数据却是不一样的,同时我们也注意到,同样的功能,除了某些数据,其他的数据也能能够操作成功,好吧!估计和数据量有关系!于是就在本地大量的造数据再次的模仿,后来造了近万条的数据在本地终于也能出现一样的问题了,确实和提交的数据量有关系,且首次调用的时候会出现如下的错误提示信息:
六月 02, 2017 2:59:08 下午 org.apache.tomcat.util.http.Parameters processParameters
信息: More than the maximum number of request parameters (GET plus POST) for a single request ([10,000]) were detected. Any parameters beyond this limit have been ignored. To change this limit, set the maxParameterCount attribute on the Connector.
Note: further occurrences of this error will be logged at DEBUG level.
这个提示信息还算老实,比较明显就能暴露出对应的问题了——当请求的参数过多的时候,会忽落多余的参数,修正的方法也给出的了对应的提示,扩大对应的参数配置就行了!
从网上也找到了类似的问题解决方案,如下所示:
http://www.tuicool.com/articles/zqQzEnJ
http://blog.sina.com.cn/s/blog_69398ed90101gfly.html
我也在本地试验了一下,(我本地使用的tomcat版本是 7.0.61)
修改server.xml文件的相关配置

修改的主要内容如下所示:

每个参数对应的具体含义,请参看如下的文档:
https://tomcat.apache.org/tomcat-7.0-doc/config/http.html
当然,后来这个修改方案,并没有被采用,因为我们的架构师不建议改动tomcat的默认配置,以防止以后升级或者随着数据量的增加再次的出现类似的问题。
问题的解决往往不难,关键是发现问题的所在比较费劲,就好像以前听过的一个给机器划线的工程师的故事一样,精准定位的问题的价值占到解决问题总价值的99%。
这个问题的关键是请求参数过多,那么思路至少有两个:
1:修改配置,就是让过多的请求参数顺利到达后端
2:从前端减少请求的参数,这个需要分析,最终我们也是采用了这个方案
以后可能还会遇到类似的问题,因为有些应用如果设计的不好玩的话,随着时间的推移,可能也存在请求的参数不断增长且往后端传递的情况,程序没变,运行环境看似也没有遍,但是数据量变了,这是一个潜在的问题导火索!
More than the maximum number of request parameters的更多相关文章
- Failed to connect to database. Maximum number of conections to instance exceeded
我们大体都知道ArcSDE的连接数有 48 的限制,很多人也知道这个参数可以修改,并且每种操作系统能支持的最大连接数是不同的. 如果应用报错:超出系统最大连接数 该如何处理? 两种解决办法: 第一,首 ...
- Maximum number of WAL files in the pg_xlog directory (1)
Guillaume Lelarge: Hi, As part of our monitoring work for our customers, we stumbled upon an issue ...
- iOS---The maximum number of apps for free development profiles has been reached.
真机调试免费App ID出现的问题The maximum number of apps for free development profiles has been reached.免费应用程序调试最 ...
- [LeetCode] Third Maximum Number 第三大的数
Given a non-empty array of integers, return the third maximum number in this array. If it does not e ...
- [LeetCode] Create Maximum Number 创建最大数
Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...
- LeetCode 414 Third Maximum Number
Problem: Given a non-empty array of integers, return the third maximum number in this array. If it d ...
- Parameter Passing / Request Parameters in JSF 2.0 (转)
This Blog is a compilation of various methods of passing Request Parameters in JSF (2.0 +) (1) f:vi ...
- POJ2699 The Maximum Number of Strong Kings
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2102 Accepted: 975 Description A tour ...
- [LintCode] Create Maximum Number 创建最大数
Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...
随机推荐
- kafka 数据存储结构+原理+基本操作命令
数据存储结构: Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相互独立的.每个topic又可以分成几个不同的partition(每个topic有几个partitio ...
- BZOJ 3771 Triple FFT+容斥原理
解析: 这东西其实就是指数型母函数? 所以刚开始读入的值我们都把它前面的系数置为1. 然后其实就是个多项式乘法了. 最大范围显然是读入的值中的最大值乘三,对于本题的话是12W? 用FFT优化的话,达到 ...
- [OpenCV-Python] OpenCV 中视频分析 部分 VI
部分 VI视频分析 OpenCV-Python 中文教程(搬运)目录 39 Meanshift 和 和 Camshift 目标 • 本节我们要学习使用 Meanshift 和 Camshift 算法在 ...
- How to cast List<Object> to List<MyClass> Object集合转换成实体集合
List<Object> list = getList(); return (List<Customer>) list; Compiler says: cannot cast ...
- BZOJ 3994: [SDOI2015]约数个数和3994: [SDOI2015]约数个数和 莫比乌斯反演
https://www.lydsy.com/JudgeOnline/problem.php?id=3994 https://blog.csdn.net/qq_36808030/article/deta ...
- Python3正则表达式(1)
正则表达式 作用:处理字符串.形式上检查格式 应用:文本编辑与处理.网页爬虫 特点:可以快速.准确地完成复杂的查找.替换 操作: step1:预定义模式 step2:采用预定义的模式匹配具有共同特征的 ...
- [POI2010]GRA-The Minima Game
OJ题号:洛谷3507 思路: 如果选了$k_i$,那么你的对手就可以选上所有$\geq{k_i}$的数.那么他其中获得的分数也一定$\geq{k_i}$. 如果你选了$k_i$以及所有$\geq{k ...
- 学校的统一订书80%该烧掉——IT推荐书单
学校的统一订书80%该烧掉——IT推荐书单 作者: 夏浅音.py 中文图书个人黑名单:清华大学出版社的国产作者,例如一段错n次的谭浩强.一页错n次的严蔚敏... 中文图书个人白名单:机械工业出版社.电 ...
- zookeepercli - Command Line Interface for ZooKeeper
简介 ZooKeeper命令行界面(CLI)用于与ZooKeeper进行交互以用于开发目的.它对于调试很有用. 要执行ZooKeeper CLI操作,首先打开你的ZooKeeper服务器(“bin / ...
- Linux的SSH免密登录认证过程研究
一.先看下SSH免密登录使用到的工具和生成的文件 工具:ssh-keygen用于生成秘钥文件,其中秘钥分为公钥和私钥.ssh-copy-id用于复制公钥文件到被控制机. 文件:ssh-keygen生成 ...