Улучшение производительности при запуске Drools Fusion - PullRequest
0 голосов
/ 14 сентября 2018

Я работаю с Drools 7.10.0-FINAL Fusion на Linux (openembedded) коробке (одноядерный 600 МГц, 512 МБ ОЗУ, Java SE Embedded 1.8) и ищу способы улучшить время запуска Drools. Сейчас около 32-х, было бы неплохо уменьшить его вдвое.

У меня есть один файл .drl с двумя простыми правилами в модуле kjar, который я создаю с помощью kie-maven-plugin как mvn clean install -DgenerateModel=YES -e

Начало сеанса от

1 KieServices ks = KieServices.Factory.get();
2 //this is slower KieContainer kContainer = ks.getKieClasspathContainer();
3 ReleaseId releaseId = ks.newReleaseId("...", "KnowledgeBase", "1.0");
4 KieContainer kContainer = ks.newKieContainer(releaseId);
5 this.kieSession1 = kContainer.newKieSession();

раз я получаю

1  06:11:06,141 INFO  (ServiceDiscoveryImpl.java:107)  Loading kie.conf from  jar:!/META-INF/kie.conf in classloader sun.misc.Launcher$AppClassLoader@387f44
2  06:11:06,591 INFO  (ServiceDiscoveryImpl.java:141)  Adding Service org.drools.compiler.kie.builder.impl.KieServicesImpl
3  06:11:06,890 INFO  (ServiceDiscoveryImpl.java:141)  Adding Service org.drools.compiler.builder.impl.KnowledgeBuilderFactoryServiceImpl
4  06:11:06,969 INFO  (ServiceDiscoveryImpl.java:141)  Adding Service org.drools.core.io.impl.ResourceFactoryServiceImpl
5  06:11:07,065 INFO  (ServiceDiscoveryImpl.java:141)  Adding Service org.drools.core.marshalling.impl.MarshallerProviderImpl
6  06:11:07,120 INFO  (ServiceDiscoveryImpl.java:141)  Adding Service org.drools.core.concurrent.ExecutorProviderImpl   
7  06:11:07,140 INFO  (ServiceDiscoveryImpl.java:107)  Loading kie.conf from  jar:drools-model-compiler-7.10.0.Final.jar!/META-INF/kie.conf in classloader sun.misc.Launcher$AppClassLoader@387f44
8  06:11:07,280 INFO  (ServiceDiscoveryImpl.java:141)  Adding Service org.drools.modelcompiler.CanonicalKieModuleProvider
9  06:11:07,452 DEBUG (KieRepositoryImpl.java:89)      Cannot load a KieRepositoryScanner, using the DummyKieScanner
10 06:11:07,489 DEBUG (KieRepositoryImpl.java:130)     KieModule Lookup. ReleaseId KnowledgeBase:1.0 was not in cache, checking classpath
11 06:11:07,522 INFO  (KieRepositoryImpl.java:184)     Adding KieModule from classpath: file:KnowledgeBase-1.0.jar
12 06:11:07,788 DEBUG (ClasspathKieProject.java:397)   KieModule URL type=jar url=KnowledgeBase-1.0.jar
13 06:11:20,511 DEBUG (ClasspathKieProject.java:265)   Found and used pom.properties META-INF/maven/.../KnowledgeBase/pom.properties    
14 06:11:38,421 INFO  (RuleEngineModule.java:95)       KieSession started

Большую часть времени (записи в журнале 7-13) тратится на KieContainer kContainer = ks.newKieContainer(releaseId);

Какие-нибудь известные методы или образованные догадки, как ускорить создание экземпляра kie-контейнера?

...