簡體   English   中英

在Java中加快Ignite引導

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM