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}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值