You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Ma Gang (JIRA)" <ji...@apache.org> on 2018/09/28 08:56:00 UTC

[jira] [Commented] (KYLIN-3601) The max connection number generated by the PreparedContextPool is inconsistent with the configuration.

    [ https://issues.apache.org/jira/browse/KYLIN-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16631561#comment-16631561 ] 

Ma Gang commented on KYLIN-3601:
--------------------------------

How many concurrent clients you use to do the performance test? You should use less than kylin.query.statement-cache-max-num-per-key concurrent clients to do the test. I didn't use blocked strategy for the pool, which means when borrow fail, it will throw Exception and create a PreparedContext out of the pool. You can use use apis: getNumIdle(Key) and getNumActive(Key) to check how many preparedcontext are pooled.

> The max connection number generated by the PreparedContextPool is inconsistent with the configuration.
> ------------------------------------------------------------------------------------------------------
>
>                 Key: KYLIN-3601
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3601
>             Project: Kylin
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: v2.5.0
>            Reporter: huaicui
>            Priority: Major
>         Attachments: FirstResponseDistribute.jpg, SixthResponseDistribute.jpg, image-2018-09-28-15-14-00-288.png
>
>
> 因为并发性能不够,使用了magang提供的PrepareStatement方法进行测试。性能有所有提高,但随着测试次数的增加,吞吐率会越来越低而且数据超时也越来越多。经过修改代码在queryAndUpdateCache最后返回前加入日志打印:logger.debug("BorrowedCount:"+preparedContextPool.getBorrowedCount()
>  +",DestroyedCount:"+preparedContextPool.getDestroyedCount()
>  +",CreatedCount:"+preparedContextPool.getCreatedCount()
>  +",ReturnedCount:"+preparedContextPool.getReturnedCount()
> 同时配置文件加入该配置:
> kylin.query.statement-cache-max-num-per-key=200
>  
>  
> 日志显示,当同一sql并发一段时间后,PreparedContextPool创建了越来越多PrepareStatement,并没有进行阻塞后续来的请求。
> !image-2018-09-28-15-14-00-288.png!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)