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 ...
随机推荐
- CentOS 用挂了dev/sda1:UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY .
dev/sda1:UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY .(i.e. ,without -a or -p options)fsck died with ...
- ZOJ-3537
题目大意:给你一个n (n<=300) 边形,给出它所有的顶点坐标,让你把它划分成n-2个三角形的花费最小值,顶点 a 和 b 相连的花费为 abs(a.x+b.x)*abs(a.y+b.y). ...
- Codeforces Round #428 (Div. 2)
终于上蓝名了,hahahahaha,虽然这场的 B 题因为脑抽了,少考虑一种情况终判错了,还是很可惜的.. B题本来过来1500个人,终判之后只剩下了200多个,真的有毒!!!! A - Arya a ...
- 决策树分类算法及python代码实现案例
决策树分类算法 1.概述 决策树(decision tree)——是一种被广泛使用的分类算法. 相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置 在实际应用中,对于探测式的知识发现 ...
- 利用jQuery-UI和jsPlumb实现拖拽连接模型
简介 之前公司需要做一个自定义数据搜索模型的功能,大体是这样的:左边显示的每一个模型对应于数据库中的一个表,把左边的模型拉入右边的容器内,会显示这个模型(也就是表)下的列信息,然后通过连线确定各独立的 ...
- 057 Hive项目案例过程
1.说明 这里只粘贴一张,图,主要针对的hive的项目的实践过程. 2.图 3.需求 统计PV 统计注册人数 => 这个是一个公司会关注的,每天的注册率. 统计ip 统计跳出率 => ip ...
- 函数 y=x^x的分析
关于函数 y=xx的分析: 由图像得,y在负无穷大到0图像处处不连续,故y的定义域为(0,正无穷大): 故该函数不就是y=e^(lnxx)吗? 1.定义域:我们变形一下,y=e^(xlnx),显然是0 ...
- go语言爬虫 - TapTap用户都喜欢些什么游戏
前面的废话 说到爬虫,首先想到的当然是python~ 它在机器学习.爬虫数据分析领域可谓是如日中天,十分热门.但我最近在学习go语言,所以就用go写了 TapTap社区 这是一个高品质的游戏分享社区, ...
- xss总结--2018自我整理
0x00前言 因为ctf中xss的题目偏少(因为需要机器人在后台点选手的连接2333),所有写的比较少 这里推荐个环境http://test.xss.tv/ 0x01xss作用 常见的输出函数:pri ...
- SQLserver 字符串转换日期,日期转换成为字符串
sqlserver 日期与字符串之间的转换 该文章摘自:http://www.cnblogs.com/windphoenix/archive/2013/04/26/3044784.html 字符转 ...