`
san_yun
  • 浏览: 2693821 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

jython load 高的分析

 
阅读更多
登录到s4发现load很高,cpu完全是被jython占用,发现启jstack主要被三种线程占用:
1. memcached
2. perf/models.py:30,next_blog_id(),prev_blog_id()这个地方绝对有性能问题导致mysql被lock。
{code}
at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
        - locked <0x0000000778151558> (a com.mysql.jdbc.util.ReadAheadInputStream)
        at django.db.models.query$py._result_iter$8(/duitang/dist/sys/tomcat/webapps/ROOT/WEB-INF/lib-python/Lib/site-packages/django/db/models/query.py:99)
{code}
3. 抛出的异常打印stack可能会非常耗时:
{code}
   java.lang.Thread.State: RUNNABLE
        at java.lang.Throwable.fillInStackTrace(Native Method)
        at java.lang.Throwable.fillInStackTrace(Throwable.java:782)
        - locked <0x000000074c3389a8> (a org.python.core.PyException)
{code}


{code}
        at django.db.models.query$py.call_function(/duitang/dist/sys/tomcat/webapps/ROOT/WEB-INF/lib-python/Lib/site-packages/django/db/models/query.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:165)
        at org.python.core.PyGenerator.__iternext__(PyGenerator.java:149)
        at org.python.core.PyGenerator.__iternext__(PyGenerator.java:131)
        at perf.models$py.get_recs$1(/data1/duitang/dist/app/test/jython/duitang/../duitang/perf/models.py:30)
        at perf.models$py.call_function(/data1/duitang/dist/app/test/jython/duitang/../duitang/perf/models.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:165)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:166)
        at org.python.core.PyFunction.__call__(PyFunction.java:368)
        at message.models$py.fetch_pre_blog$66(/duitang/dist/sys/tomcat/webapps/ROOT/WEB-INF/lib-python/duitang/message/models.py:723)
        at message.models$py.call_function(/duitang/dist/sys/tomcat/webapps/ROOT/WEB-INF/lib-python/duitang/message/models.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:165)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:134)
        at org.python.core.PyFunction.__call__(PyFunction.java:347)
        at org.python.core.PyMethod.__call__(PyMethod.java:109)
        at message.models$py.get_prev_blog$65(/duitang/dist/sys/tomcat/webapps/ROOT/WEB-INF/lib-python/duitang/message/models.py:709)
        at message.models$py.call_function(/duitang/dist/sys/tomcat/webapps/ROOT/WEB-INF/lib-python/duitang/message/models.py)
        at org.python.core.PyTableCode.call(PyTableCode.java:165)
        at org.python.core.PyBaseCode.call(PyBaseCode.java:134)
        at org.python.core.PyFunction.__call__(PyFunction.java:347)
        at org.python.core.PyMethod.__call__(PyMethod.java:109)
        at message.models$py.prev_blog_id$64(/duitang/dist/sys/tomcat/webapps/ROOT/WEB-INF/lib-python/duitang/message/models.py:701)

{code}
分享到:
评论

相关推荐

    开源压力测试工具.pdf

    标题提及的“开源压力测试工具”是指用于检测和评估服务器及Web应用在高并发环境下的性能和稳定性的软件工具。这些工具通常是免费的,并且开放源代码,允许开发者和测试人员进行自定义和扩展。以下是对描述中提到的...

    十个免费的Web压力测试工具

    在IT领域,Web压力测试是确保网站或Web应用在高流量和高负载下仍能保持稳定性和性能的关键步骤。本文将深入探讨十个免费的Web压力测试工具,它们各自的特点、优势与局限性,帮助读者更好地理解和选择适合自身需求的...

    web压力测试工具介绍

    9. **Web Polygraph**:Web Polygraph是企业级的Web性能测试工具,被广泛采用为基准测试工具,包括微软也在其软件性能分析中使用。 10. **OpenSTA**:OpenSTA是一个免费的开源Web性能测试工具,具有强大的脚本录制...

    网站测试使用工具

    网站测试是确保Web应用在高并发访问下稳定运行的关键步骤,尤其对于大型活动或重要服务,如北京奥运会的订票系统。以下是一些免费的Web负载/压力测试工具的详细介绍: 1. Grinder:Grinder是一个基于JVM的开源测试...

    基于Oracle数据集成的KM二次开发与实现.pdf

    开发者使用Jython语言编写代码并嵌入到KM中,实现了Blob类型数据的抽取和转换,从而满足了个性化的集成需求。 在实际项目中,KM的二次开发不仅限于数据类型转换,还可以应对各种复杂业务场景,如数据清洗、数据质量...

    ODI如何通过logminer技术从oracle_数据库中抽取增量数据

    与Oracle自家的OWB(Oracle Warehouse Builder)相比,ODI支持更广泛的异构数据源,并且具有更好的SOA(面向服务架构)支持以及对Jython的支持,这些特点使其能够与OWB形成互补。 ODI和OWB都被归类为ELT(Extract Load ...

    web压力测试工具_动力节点Java 学院整理

    1. Grinder:Grinder是一个开源的JVM负载测试框架,用于分布式测试,支持Jython脚本引擎执行测试脚本。Grinder允许程序员编码测试过程,因此测试应用的不同层次,而不仅是通过用户界面测试响应时间。它的主要目标是...

Global site tag (gtag.js) - Google Analytics