-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
17 lines (17 loc) · 22.6 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html><html lang="zh-CN"><head><meta name="generator" content="Hexo 3.9.0"><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><meta content="yes" name="apple-mobile-web-app-capable"><meta content="black-translucent" name="apple-mobile-web-app-status-bar-style"><meta content="telephone=no" name="format-detection"><meta name="description" content="python | C++ | C plus plus | java"><title>KL's blog | 世事洞明皆学问,人情练达即文章</title><link rel="stylesheet" type="text/css" href="//cdn.bootcss.com/normalize/5.0.0/normalize.min.css"><link rel="stylesheet" type="text/css" href="//cdn.bootcss.com/pure/0.6.0/pure-min.css"><link rel="stylesheet" type="text/css" href="//cdn.bootcss.com/pure/0.6.0/grids-responsive-min.css"><link rel="stylesheet" type="text/css" href="/css/style.css?v=0.0.0"><link rel="stylesheet" href="//cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css"><script type="text/javascript" src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script><link rel="Shortcut Icon" type="image/x-icon" href="/favicon.ico"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><link rel="apple-touch-icon-precomposed" href="/apple-touch-icon.png"><link rel="stylesheet" type="text/css" href="/css/donate.css"><link rel="alternate" type="application/atom+xml" href="/atom.xml"></head><body> <div id="particles-js"></div><div class="body_container"><div id="header"><div class="site-name"><h1 class="hidden">KL's blog</h1><a id="logo" href="/.">KL's blog</a><p class="description">世事洞明皆学问,人情练达即文章</p></div><div id="nav-menu"><a href="/" class="current"><i class="fa fa-home"> 首页</i></a><a href="/archives/"><i class="fa fa-archive"> 归档</i></a><a href="/recommendation/"><i class="fa fa-leaf"> 推荐</i></a><a href="/about/"><i class="fa fa-user"> 关于</i></a><a href="/atom.xml"><i class="fa fa-rss"> 订阅</i></a></div></div><div id="layout" class="pure-g"><div class="pure-u-1 pure-u-md-3-4"><div class="content_container"><div class="post post-short"><h2 class="post-title"><a href="/2023/03/19/tomcat-8-x-parseHost-bug/">tomcat8.x parseHost bug导致的性能损耗</a></h2><div class="post-meta">2023-03-19</div><a data-disqus-identifier="2023/03/19/tomcat-8-x-parseHost-bug/" href="/2023/03/19/tomcat-8-x-parseHost-bug/#disqus_thread" class="disqus-comment-count"></a><div class="post-content"><h2 id="现象"><a href="#现象" class="headerlink" title="现象"></a>现象</h2><ul>
<li>通过jfr抓取的deoptimization event发现有很多parseHost相关的jit退化</li>
</ul>
<img src="/2023/03/19/tomcat-8-x-parseHost-bug/image-20230319205702153.png"></div><p class="readmore"><a href="/2023/03/19/tomcat-8-x-parseHost-bug/">阅读更多</a></p></div><div class="post post-short"><h2 class="post-title"><a href="/2022/10/23/tomcat-app-deploy/">tomcat应用部署过程(一)</a></h2><div class="post-meta">2022-10-23</div><a data-disqus-identifier="2022/10/23/tomcat-app-deploy/" href="/2022/10/23/tomcat-app-deploy/#disqus_thread" class="disqus-comment-count"></a><div class="post-content"><p>从前两篇文章中,我们熟悉了tomcat核心组件的启动过程。但是应用是如何部署的,何时部署的,这些过程仍然没有解释清楚。这篇文章,我们主要分析下应用部署的过程。要厘清楚调用关系,最快的莫过于火焰图。</p>
<img src="/2022/10/23/tomcat-app-deploy/image-20211205203743479.png"></div><p class="readmore"><a href="/2022/10/23/tomcat-app-deploy/">阅读更多</a></p></div><div class="post post-short"><h2 class="post-title"><a href="/2022/10/19/tomcat-startup-3/">tomcat bind/listen/acceptor过程</a></h2><div class="post-meta">2022-10-19</div><a data-disqus-identifier="2022/10/19/tomcat-startup-3/" href="/2022/10/19/tomcat-startup-3/#disqus_thread" class="disqus-comment-count"></a><div class="post-content"><p><strong>tomcat bind/listen/acceptor过程</strong></p>
<p>经典的网络server,一般有如下的流程:</p>
<img src="/2022/10/19/tomcat-startup-3/image-20221019224156247.png"></div><p class="readmore"><a href="/2022/10/19/tomcat-startup-3/">阅读更多</a></p></div><div class="post post-short"><h2 class="post-title"><a href="/2022/10/18/tomcat-connectionTimeout/">tomcat配置connectionTimeout</a></h2><div class="post-meta">2022-10-18</div><a data-disqus-identifier="2022/10/18/tomcat-connectionTimeout/" href="/2022/10/18/tomcat-connectionTimeout/#disqus_thread" class="disqus-comment-count"></a><div class="post-content"><blockquote>
<p>The number of milliseconds this <strong>Connector</strong> will wait, after accepting a connection, for the request URI line to be presented. Use a value of -1 to indicate no (i.e. infinite) timeout. The default value is 60000 (i.e. 60 seconds) but note that the standard server.xml that ships with Tomcat sets this to 20000 (i.e. 20 seconds). Unless <strong>disableUploadTimeout</strong> is set to <code>false</code>, this timeout will also be used when reading the request body (if any).</p></blockquote></div><p class="readmore"><a href="/2022/10/18/tomcat-connectionTimeout/">阅读更多</a></p></div><div class="post post-short"><h2 class="post-title"><a href="/2022/10/06/tomcat-threadpool-timeout/">tomcat的线程池为什么不回落?</a></h2><div class="post-meta">2022-10-06</div><a data-disqus-identifier="2022/10/06/tomcat-threadpool-timeout/" href="/2022/10/06/tomcat-threadpool-timeout/#disqus_thread" class="disqus-comment-count"></a><div class="post-content"><h1 id="现象"><a href="#现象" class="headerlink" title="现象"></a>现象</h1><p>从监控上看,tomcat的线程busy的非常少,线程池使用率很低,但是线程池里的线程的个数却很多。</p>
<p>难道tomcat的线程池没有回落机制吗?</p></div><p class="readmore"><a href="/2022/10/06/tomcat-threadpool-timeout/">阅读更多</a></p></div><div class="post post-short"><h2 class="post-title"><a href="/2022/10/05/tomcat-when-queue-is-full/">tomcat队列满了之后会发生什么?</a></h2><div class="post-meta">2022-10-05</div><a data-disqus-identifier="2022/10/05/tomcat-when-queue-is-full/" href="/2022/10/05/tomcat-when-queue-is-full/#disqus_thread" class="disqus-comment-count"></a><div class="post-content"><p>tomcat线程池满了之后,请求会堆积在队列里。队列满了之后会发生什么?</p>
<h1 id="队列长度"><a href="#队列长度" class="headerlink" title="队列长度"></a>队列长度</h1><p>首先需要看下队列长度,使用tomcat默认的线程池,采用的是无界队列:</p></div><p class="readmore"><a href="/2022/10/05/tomcat-when-queue-is-full/">阅读更多</a></p></div><div class="post post-short"><h2 class="post-title"><a href="/2022/08/07/tomcat-stringcache/">tomcat-stringcache</a></h2><div class="post-meta">2022-08-07</div><a data-disqus-identifier="2022/08/07/tomcat-stringcache/" href="/2022/08/07/tomcat-stringcache/#disqus_thread" class="disqus-comment-count"></a><div class="post-content"><h2 id="StringCache是啥?"><a href="#StringCache是啥?" class="headerlink" title="StringCache是啥?"></a>StringCache是啥?</h2><p> 众所周知,http协议是文本协议,因此传输过程中的ByteChunk和CharChunk最终都会转为String。tomcat为了减少内存占用,减少对GC的影响,提出了StringCache的解决方案。</p></div><p class="readmore"><a href="/2022/08/07/tomcat-stringcache/">阅读更多</a></p></div><nav class="page-navigator"><span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="page-number" href="/page/3/">3</a><span class="space">…</span><a class="page-number" href="/page/17/">17</a><a class="extend next" rel="next" href="/page/2/">下一页</a></nav><script id="dsq-count-scr" src="//blog-huytwsybye.disqus.com/count.js" async></script></div></div><div class="pure-u-1-4 hidden_mid_and_down"><div id="sidebar"><div class="widget"><form action="//www.google.com/search" method="get" accept-charset="utf-8" target="_blank" class="search-form"><input type="text" name="q" maxlength="20" placeholder="Search"><input type="hidden" name="sitesearch" value="http://qsli.github.io"></form></div><div class="widget"><div class="widget-title"><i class="fa fa-folder-o"> 分类</i></div><ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/base/">base</a><span class="category-list-count">8</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/db/">db</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/druid/">druid</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/dubbo/">dubbo</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/fe/">fe</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/feign/">feign</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/git/">git</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/go/">go</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/guava/">guava</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/hexo/">hexo</a><span class="category-list-count">4</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/http/">http</a><span class="category-list-count">2</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/idea/">idea</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/java/">java</a><span class="category-list-count">17</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/jdbc/">jdbc</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/jvm/">jvm</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/linux/">linux</a><span class="category-list-count">12</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/markdown/">markdown</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/maven/">maven</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/mediawiki/">mediawiki</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/microservice/">microservice</a><span class="category-list-count">1</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/mybatis/">mybatis</a><span class="category-list-count">4</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/perf/">perf</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/python/">python</a><span class="category-list-count">3</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/shell/">shell</a><span class="category-list-count">5</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/spring/">spring</a><span class="category-list-count">16</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/tomcat/">tomcat</a><span class="category-list-count">18</span></li><li class="category-list-item"><a class="category-list-link" href="/categories/机器学习/">机器学习</a><span class="category-list-count">1</span></li></ul></div><div class="widget"><div class="widget-title"><i class="fa fa-star-o"> 标签</i></div><div class="tagcloud"><a href="/tags/xml/" style="font-size: 15px;">xml</a> <a href="/tags/jackson/" style="font-size: 15px;">jackson</a> <a href="/tags/logback/" style="font-size: 15px;">logback</a> <a href="/tags/maven/" style="font-size: 15px;">maven</a> <a href="/tags/ssh/" style="font-size: 15px;">ssh</a> <a href="/tags/threadpool/" style="font-size: 15px;">threadpool</a> <a href="/tags/tomcat/" style="font-size: 15px;">tomcat</a> <a href="/tags/剪贴板/" style="font-size: 15px;">剪贴板</a> <a href="/tags/mat/" style="font-size: 15px;">mat</a> <a href="/tags/编码/" style="font-size: 15px;">编码</a> <a href="/tags/guava/" style="font-size: 15px;">guava</a> <a href="/tags/cache/" style="font-size: 15px;">cache</a> <a href="/tags/cglib/" style="font-size: 15px;">cglib</a> <a href="/tags/crontab/" style="font-size: 15px;">crontab</a> <a href="/tags/自定义标签/" style="font-size: 15px;">自定义标签</a> <a href="/tags/cygwin/" style="font-size: 15px;">cygwin</a> <a href="/tags/electron/" style="font-size: 15px;">electron</a> <a href="/tags/pitfall-mysql-connector-java-8-x/" style="font-size: 15px;">pitfall mysql-connector-java 8.x</a> <a href="/tags/fabric/" style="font-size: 15px;">fabric</a> <a href="/tags/beanfactory/" style="font-size: 15px;">beanfactory</a> <a href="/tags/spring-cloud/" style="font-size: 15px;">spring-cloud</a> <a href="/tags/git/" style="font-size: 15px;">git</a> <a href="/tags/idea/" style="font-size: 15px;">idea</a> <a href="/tags/go学习资料/" style="font-size: 15px;">go学习资料</a> <a href="/tags/git-commit-id/" style="font-size: 15px;">git-commit-id</a> <a href="/tags/grafana/" style="font-size: 15px;">grafana</a> <a href="/tags/hexo-install/" style="font-size: 15px;">hexo install</a> <a href="/tags/hexo/" style="font-size: 15px;">hexo</a> <a href="/tags/lsof/" style="font-size: 15px;">lsof</a> <a href="/tags/tranfer-encoding/" style="font-size: 15px;">tranfer-encoding</a> <a href="/tags/template/" style="font-size: 15px;">template</a> <a href="/tags/jar/" style="font-size: 15px;">jar</a> <a href="/tags/exception/" style="font-size: 15px;">exception</a> <a href="/tags/访问权限/" style="font-size: 15px;">访问权限</a> <a href="/tags/Javadoc/" style="font-size: 15px;">Javadoc</a> <a href="/tags/java-connector/" style="font-size: 15px;">java-connector</a> <a href="/tags/jinfo/" style="font-size: 15px;">jinfo</a> <a href="/tags/ajax/" style="font-size: 15px;">ajax</a> <a href="/tags/markdown-here/" style="font-size: 15px;">markdown-here</a> <a href="/tags/mindmap/" style="font-size: 15px;">mindmap</a> <a href="/tags/plantuml/" style="font-size: 15px;">plantuml</a> <a href="/tags/mysql/" style="font-size: 15px;">mysql</a> <a href="/tags/自增主键/" style="font-size: 15px;">自增主键</a> <a href="/tags/netcat/" style="font-size: 15px;">netcat</a> <a href="/tags/pip/" style="font-size: 15px;">pip</a> <a href="/tags/uml/" style="font-size: 15px;">uml</a> <a href="/tags/postgresql/" style="font-size: 15px;">postgresql</a> <a href="/tags/python-util/" style="font-size: 15px;">python-util</a> <a href="/tags/re/" style="font-size: 15px;">re</a> <a href="/tags/shadowsocks/" style="font-size: 15px;">shadowsocks</a> <a href="/tags/limit/" style="font-size: 15px;">limit</a> <a href="/tags/spi/" style="font-size: 15px;">spi</a> <a href="/tags/spring-mvc/" style="font-size: 15px;">spring mvc</a> <a href="/tags/swap/" style="font-size: 15px;">swap</a> <a href="/tags/access-log/" style="font-size: 15px;">access-log</a> <a href="/tags/busy-thread/" style="font-size: 15px;">busy-thread</a> <a href="/tags/sqlserver-killer/" style="font-size: 15px;">sqlserver-killer</a> <a href="/tags/encoding/" style="font-size: 15px;">encoding</a> <a href="/tags/connections/" style="font-size: 15px;">connections</a> <a href="/tags/string-manager/" style="font-size: 15px;">string-manager</a> <a href="/tags/feign/" style="font-size: 15px;">feign</a> <a href="/tags/sudo-log/" style="font-size: 15px;">sudo-log</a> <a href="/tags/servlet/" style="font-size: 15px;">servlet</a> <a href="/tags/format/" style="font-size: 15px;">format</a> <a href="/tags/druid/" style="font-size: 15px;">druid</a> <a href="/tags/generic/" style="font-size: 15px;">generic</a> <a href="/tags/executor/" style="font-size: 15px;">executor</a> <a href="/tags/greys/" style="font-size: 15px;">greys</a> <a href="/tags/event-bus/" style="font-size: 15px;">event-bus</a> <a href="/tags/java/" style="font-size: 15px;">java</a> <a href="/tags/executeBatch/" style="font-size: 15px;">executeBatch</a> <a href="/tags/HttpURLConnection/" style="font-size: 15px;">HttpURLConnection</a> <a href="/tags/机器学习/" style="font-size: 15px;">机器学习</a> <a href="/tags/mybatis/" style="font-size: 15px;">mybatis</a> <a href="/tags/tracing/" style="font-size: 15px;">tracing</a> <a href="/tags/reference/" style="font-size: 15px;">reference</a> <a href="/tags/resource/" style="font-size: 15px;">resource</a> <a href="/tags/sudo/" style="font-size: 15px;">sudo</a> <a href="/tags/jit/" style="font-size: 15px;">jit</a> <a href="/tags/top/" style="font-size: 15px;">top</a> <a href="/tags/volatile/" style="font-size: 15px;">volatile</a> <a href="/tags/jvm/" style="font-size: 15px;">jvm</a> <a href="/tags/messageConverter/" style="font-size: 15px;">messageConverter</a> <a href="/tags/google-perf/" style="font-size: 15px;">google-perf</a> <a href="/tags/jdwp/" style="font-size: 15px;">jdwp</a> <a href="/tags/keepalive/" style="font-size: 15px;">keepalive</a> <a href="/tags/spring-bean/" style="font-size: 15px;">spring-bean</a> <a href="/tags/tomcat-startup/" style="font-size: 15px;">tomcat-startup</a> <a href="/tags/cache-prep-stmts/" style="font-size: 15px;">cache-prep-stmts</a> <a href="/tags/placeholder/" style="font-size: 15px;">placeholder</a> <a href="/tags/tcp/" style="font-size: 15px;">tcp</a> <a href="/tags/tomcat-app-deploy/" style="font-size: 15px;">tomcat-app-deploy</a> <a href="/tags/transaction/" style="font-size: 15px;">transaction</a> <a href="/tags/spring-validator/" style="font-size: 15px;">spring-validator</a> <a href="/tags/spring-aop/" style="font-size: 15px;">spring-aop</a></div></div><div class="widget"><div class="widget-title"><i class="fa fa-file-o"> 最新文章</i></div><ul class="post-list"><li class="post-list-item"><a class="post-list-link" href="/2023/03/19/tomcat-8-x-parseHost-bug/">tomcat8.x parseHost bug导致的性能损耗</a></li><li class="post-list-item"><a class="post-list-link" href="/2022/10/23/tomcat-app-deploy/">tomcat应用部署过程(一)</a></li><li class="post-list-item"><a class="post-list-link" href="/2022/10/19/tomcat-startup-3/">tomcat bind/listen/acceptor过程</a></li><li class="post-list-item"><a class="post-list-link" href="/2022/10/18/tomcat-connectionTimeout/">tomcat配置connectionTimeout</a></li><li class="post-list-item"><a class="post-list-link" href="/2022/10/06/tomcat-threadpool-timeout/">tomcat的线程池为什么不回落?</a></li><li class="post-list-item"><a class="post-list-link" href="/2022/10/05/tomcat-when-queue-is-full/">tomcat队列满了之后会发生什么?</a></li><li class="post-list-item"><a class="post-list-link" href="/2022/08/07/tomcat-stringcache/">tomcat-stringcache</a></li><li class="post-list-item"><a class="post-list-link" href="/2022/08/07/reflection/">Java的反射慢吗?</a></li><li class="post-list-item"><a class="post-list-link" href="/2022/07/08/open-tracing/">open-tracing</a></li><li class="post-list-item"><a class="post-list-link" href="/2021/12/05/tomcat-startup-2/">tomcat-startup-2</a></li></ul></div><div class="widget"><div class="widget-title"><i class="fa fa-comment-o"> 最近评论</i></div><script type="text/javascript" src="//blog-huytwsybye.disqus.com/recent_comments_widget.js?num_items=5&hide_avatars=1&avatar_size=32&excerpt_length=20&hide_mods=1"></script></div><div class="widget"><div class="widget-title"><i class="fa fa-external-link"> 友情链接</i></div><ul></ul><a href="http://iip.whu.edu.cn/" title="武汉大学智能信息处理实验室" target="_blank" rel="external nofollow noopener noreferrer">武汉大学智能信息处理实验室</a><ul></ul><a href="http://calvin1978.blogcn.com/" title="江南白衣" target="_blank" rel="external nofollow noopener noreferrer">江南白衣</a><ul></ul><a href="https://chenyuzuoo.github.io/" title="Chenyu's Script" target="_blank" rel="external nofollow noopener noreferrer">Chenyu's Script</a><ul></ul><a href="https://zhangpengdeshu.github.io/" title="前端小胖儿" target="_blank" rel="external nofollow noopener noreferrer">前端小胖儿</a><ul></ul><a href="http://huzongzhe.cn/" title="胡大腿" target="_blank" rel="external nofollow noopener noreferrer">胡大腿</a></div><div class="widget"><div class="widget-title"><i class="fa fa-eye"> 本站访问量</i></div><div><script type="text/javascript" src="/js/busuanzi.pure.mini.js?v=0.0.0" async="async"></script><p> 访问量:<span id="busuanzi_value_site_pv"> </span></p><p> 访客数:<span id="busuanzi_value_site_uv"></span></p></div></div></div></div><div class="pure-u-1 pure-u-md-3-4"><div id="footer"><p><a href="/." rel="nofollow">KL's blog </a><span>© 2015 - 2023.</span></p><p> Powered by<a rel="external nofollow noopener noreferrer" target="_blank" href="https://hexo.io"> Hexo.</a><a rel="external nofollow noopener noreferrer" target="_blank" href="https://github.com/tufu9441/maupassant-hexo"> Theme</a> by<a rel="external nofollow noopener noreferrer" target="_blank" href="https://github.com/pagecho"> Cho.</a></p></div></div></div><a id="rocket" href="#top" class="show"></a><script type="text/javascript" src="/js/totop.js?v=0.0.0" async></script><script type="text/javascript" src="/js/kity.min.js?v=0.0.0" sync></script><script type="text/javascript" src="/js/kityminder.core.js?v=0.0.0" sync></script><script type="text/javascript" src="/js/mindmap.js?v=0.0.0" async></script><script type="text/javascript" src="//cdn.bootcss.com/fancybox/2.1.5/jquery.fancybox.pack.js" async></script><script type="text/javascript" src="/js/fancybox.js?v=0.0.0" async></script><link rel="stylesheet" type="text/css" href="/css/jquery.fancybox.css?v=0.0.0"><script>var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?b86170f998d4ba7d7e834894b1f02595";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script><script type="text/javascript" src="/js/codeblock-resizer.js?v=0.0.0"></script><script type="text/javascript" src="/js/smartresize.js?v=0.0.0"></script></div></body></html>