Executing select query in Partition mode (cluster with two nodes) taking more than 10 minutes.

classic Classic list List threaded Threaded
2 messages Options
chin21987 chin21987
Reply | Threaded
Open this post in threaded view
|

Executing select query in Partition mode (cluster with two nodes) taking more than 10 minutes.

 

Hi Team,

 

              I have created cluster with two nodes. After creating new table ,  we are executing select query for first time , It is taking too much time to fetch data. (almost 10+ min)

              Please find attachment my server xml configuration and below is  client configuration class . any suggestion to solve this problem, thanks in advance

 

              public static synchronized void init() {

             try {

                    Ignition.setClientMode(true);

 

                    DataStorageConfiguration storageCfg = new DataStorageConfiguration();

                    storageCfg.setWalMode(WALMode.BACKGROUND);

 

                    IgniteConfiguration cfg = new IgniteConfiguration();

                    cfg.setDataStorageConfiguration(storageCfg);

                    // Ignite Cluster changes

                    cfg.setPeerClassLoadingEnabled(true);

                    cfg.setRebalanceThreadPoolSize(4);

                   

                    TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();

                    TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();                 

                    ipFinder.setAddresses( Arrays.asList("127.0.0.1:47500","12.16.0.19:47500"));

                   

                    

                    discoverySpi.setLocalPort(47500);

         

 

                                                         discoverySpi.setIpFinder(ipFinder).setJoinTimeout(30000);

 

                    TcpCommunicationSpi commSpi = new TcpCommunicationSpi();

            

                                                         commSpi.setConnectTimeout(30000).setLocalPort(48110);

 

                    // this timeout is used to reconnect client to server if server has

                    // failed/restarted

                 

             cfg.setClientFailureDetectionTimeout(43200000);

 

                    cfg.setDiscoverySpi(discoverySpi);

                    cfg.setCommunicationSpi(commSpi);

 

                    ignite = Ignition.start(cfg);

                    ignite.cluster().active(true);

 

                   ignite.cluster().baselineAutoAdjustEnabled(true);

                   ignite.cluster().baselineAutoAdjustTimeout(0);

                 

                     } catch (Exception e) {

                    logger.error("Error in starting ignite cluster", e);

             }

       }

 

 

             

“Confidentiality Notice: The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited.”

default-config.xml (7K) Download Attachment
dmagda dmagda
Reply | Threaded
Open this post in threaded view
|

Re: Executing select query in Partition mode (cluster with two nodes) taking more than 10 minutes.

Hi Bhavesh,

Follow these basic performance tuning recommendations for SQL  to understand how to optimize the query. Take the execution plan first. Most likely, you need to set secondary indexes. If that's not the case, then confirm the query doesn't cause long stop-the-world pauses.

-
Denis


On Tue, Aug 25, 2020 at 6:09 AM Bhavesh Modi <[hidden email]> wrote:

 

Hi Team,

 

              I have created cluster with two nodes. After creating new table ,  we are executing select query for first time , It is taking too much time to fetch data. (almost 10+ min)

              Please find attachment my server xml configuration and below is  client configuration class . any suggestion to solve this problem, thanks in advance

 

              public static synchronized void init() {

             try {

                    Ignition.setClientMode(true);

 

                    DataStorageConfiguration storageCfg = new DataStorageConfiguration();

                    storageCfg.setWalMode(WALMode.BACKGROUND);

 

                    IgniteConfiguration cfg = new IgniteConfiguration();

                    cfg.setDataStorageConfiguration(storageCfg);

                    // Ignite Cluster changes

                    cfg.setPeerClassLoadingEnabled(true);

                    cfg.setRebalanceThreadPoolSize(4);

                   

                    TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();

                    TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();                 

                    ipFinder.setAddresses( Arrays.asList("127.0.0.1:47500","12.16.0.19:47500"));

                   

                    

                    discoverySpi.setLocalPort(47500);

         

 

                                                         discoverySpi.setIpFinder(ipFinder).setJoinTimeout(30000);

 

                    TcpCommunicationSpi commSpi = new TcpCommunicationSpi();

            

                                                         commSpi.setConnectTimeout(30000).setLocalPort(48110);

 

                    // this timeout is used to reconnect client to server if server has

                    // failed/restarted

                 

             cfg.setClientFailureDetectionTimeout(43200000);

 

                    cfg.setDiscoverySpi(discoverySpi);

                    cfg.setCommunicationSpi(commSpi);

 

                    ignite = Ignition.start(cfg);

                    ignite.cluster().active(true);

 

                   ignite.cluster().baselineAutoAdjustEnabled(true);

                   ignite.cluster().baselineAutoAdjustTimeout(0);

                 

                     } catch (Exception e) {

                    logger.error("Error in starting ignite cluster", e);

             }

       }

 

 

             

“Confidentiality Notice: The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited.”