[英]Speed up Ignite boot in Java
我正在Tomcat 8.5.32中使用Ignite 2.6.0。
如可以在catalina.out的日志可以看出這里需要三年半的時間來啟動。
出於開發目的, 有什么辦法可以減少這種時間?
不需要Ignite具有任何特殊配置。 只是最簡單的一種,適合在一台機器上進行開發。
這就是我初始化Ignite的方式:
private IgniteConfiguration getConfiguration(final String cacheName, final CacheConfiguration cacheCfg) {
TcpDiscoveryVmIpFinder wmIpFind = new TcpDiscoveryVmIpFinder(true);
try {
wmIpFind.setAddresses(Arrays.asList(InetAddress.getLocalHost().getHostAddress()));
} catch (IgniteSpiException | UnknownHostException e) {
wmIpFind.setAddresses(Arrays.asList("127.0.0.1"));
}
TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
discoverySpi.setNetworkTimeout(3000);
discoverySpi.setReconnectCount(1);
discoverySpi.setReconnectDelay(60000);
discoverySpi.setClientReconnectDisabled(true);
discoverySpi.setIpFinder(wmIpFind);
IgniteConfiguration igniteConfig = new IgniteConfiguration();
igniteConfig.setIgniteInstanceName("IgniteLocalhostServer");
igniteConfig.setCacheConfiguration(cacheCfg);
igniteConfig.setClientMode(false);
igniteConfig.setPeerClassLoadingEnabled(false);
igniteConfig.setMetricsLogFrequency(0);
igniteConfig.setDiscoverySpi(discoverySpi);
igniteConfig.setMetricsLogFrequency(0);
return igniteConfig;
}
}
接着
CacheConfiguration<K,V> cacheCfg = new CacheConfiguration<K,V>().setCacheMode(CacheMode.LOCAL).setName(name);
Ignite ignite = Ignition.start(getConfiguration(name, cacheCfg));
Cache<K,V> namedCache = ignite.getOrCreateCache(cacheCfg);
首先,您讓Catalina在一些良性日志行之間損失了1:30,然后Ignite在無處花費了另外兩分鍾。
我可以想象這里發生了一些外部事件。 I / O極慢? 需要永久解析的主機名? 很難說。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.