request.getRemoteAddr()和request.getRemoteHost()
转自:https://www.cnblogs.com/aizj/p/7593209.html
request.getRemoteAddr()是获得客户端的ip地址。
request.getRemoteHost()是获得客户端的主机名。
关于request.getRemoteHost的性能问题
在一个业务系统中使用request.getRemoteHost(),会造成使用该方法使用该功能模块时速度特别慢
(测试功能时发现该功能模块中对应的域名获取的是host文件中从前往后第一个与本机IP一致的域名)
解释如下:
一个客户应用,在运行过程中反映出现性能问题,经定位,性能瓶颈出现在应用代码中的request.getRemoteHost()这一行,执行这一行需要花费大约5秒。通过CTRL+BREAK输出当前堆栈,发现底层代码有去作dns查询的动作java.net.InetAddress.getHostFromNameService(InetAddress.java:532),从而导致慢。
解决办法有2个:
1、将request.getRemoteHost()改为request.getRemoteAddr() 。
2、提供apusic的优化patch,并在启动脚本中添加参数。
按方法1修改后并在现场验证问题已解决,第二种方法没有试验有待考证。
转载于:https://www.cnblogs.com/sharpest/p/7546460.html
request.getRemoteAddr()和request.getRemoteHost()相关推荐
- 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squi...
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实 ...
- request.getParameter() 和request.getAttribute() 区别
request.getParameter() 和request.getAttribute() 区别 getParameter 是用来接受用post个get方法传递过来的参数的. getAttribut ...
- Request、Request.Form和Request.QueryString的区别
Request.Request.Form和Request.QueryString的区别 Request.Form:获取以POST方式提交的数据(接收Form提交来的数据): Request.Query ...
- request.getServletPath()和request.getPathInfo()用法
为什么80%的码农都做不了架构师?>>> 在 Web 中,我们通常需要获取 URL 相对于 Webapp 的路径,主要是下面的几个方法: request.getServletP ...
- django之视图系统 views.py--主要内容(FBV和CBV、dispath、request对象和request.FILES、JsonResponse)...
django之视图系统 views.py-->主要内容(FBV和CBV.dispath.request对象和request.FILES.JsonResponse) 一个视图函数(类),简称视图, ...
- request.getParameter和request.getAttribute之间的区别
HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别: (1)HttpServletRequest类有setAttri ...
- request.getParameter()与request.setAttribute()的区别
request.getParameter(),request.setAttribute()区别如下: (1)request.getParameter()取得是通过容器的实现来取得通过类似post,ge ...
- request.getAttribute()和 request.getParameter()有何区别?
a.request.getParameter()获取的类型是String:request.getAttribute()获取的类型是Object. b.request.getPrameter()获取的是 ...
- ajax request headers,ajax request VS normal request
ajax请求(asynchronized)与普通请求(synchronized)的报文头(Header)不同:String reqType = request.getHeader("X-Re ...
最新文章
- 测试电子负载用于无线充电系统的功能和精度
- 架构师成长之路(内附推荐书籍)
- jquery select css样式,css配合jquery美化 select
- jq获取页面url后边带的参数
- vi/vim 按键说明
- 查询数据库表大小sql
- 盒子模型代码_果冻公开课第五课:五分钟理清盒模型的前世今生
- tomcat容器启动
- 51单片机8路抢答器c语言,51单片机8路抢答器
- 简述java重载和重写的相同点_方法的重载和重写的异同之处
- 配置Appium会话---capability配置信息
- FCN分割Pascal VOC 2007
- 从零开始的Multi-armed Bandit
- vmware linux dns,vmware环境下在linux中创建dns服务器
- 扎克伯格引领的硅谷“裸捐”风
- 怎样在网上赚钱啊,小编告诉你6种赚钱方式!
- 如何使用python视频_如何使用python网络爬虫抓取视频?
- 相机的硬件接口以及传输协议介绍
- SDUSTOJ1780 Problem E: 选举班干部了!
- 手提计算机重启快捷键,笔记本重启快捷键是什么