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

huaicui commented on KYLIN-3601:
--------------------------------

We use our kylin for latency test of concurrency ;We have stored 6 segments in 
kylin. And found the query performance of muliple segments is less than 1 big 
segment;

Every day is 1 segment,like this:
                 Query multiple days(qpm)
Segment number   1 day  2 days  3 days   4 days  5 days   6 days
1                5246   5030    4982     5407    5463     4951
2                3891   4098    4291     4070    3694     3961
3                4354   3697    3785     3448    3646     3598
4                3977   3443    3096     3103    2934     2963
5                3663   3328    2947     2681    2657     2628
6                3583   3099    2813     2607    2366     2330

use preparedstatement cache: (6 segments)
===============================================================
concurrency qps avg_latency(ms) 50%(ms) 95%(ms) 99%(ms)
70 36.66 2003 1814 2419 10654
100 35.3 2795 2574 3974 8096
150 37.4 3992 3967 4875 5700

> 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, image.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)

Reply via email to