Created a ticket for the issue IGNITE-4957
<https://issues.apache.org/jira/browse/IGNITE-4957>

Kind regards,
Alex.

On Thu, Apr 13, 2017 at 3:18 PM, Sergi Vladykin [via Apache Ignite Users] <
ml-node+s70518n11942...@n6.nabble.com> wrote:

> Alex, I think we have to create an issue in Jira. This behavior looks
> suboptimal to me.
>
> Sergi
>
> 2017-04-13 15:12 GMT+03:00 afedotov <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=11942&i=0>>:
>
>> Charles,
>>
>> In your case, you have many caches registered on server nodes (debug
>> shows me about 80) which are to be created on
>> the client. These caches don't participate in common activities, instead
>> they are used to prepare execution plan.
>> As for now, a separate request is sent to remote nodes for each
>> unregistered cache.
>> You can use client mode, but you need to register all the missing caches
>> before running queries.
>> After loading missing caches explicitly the time reduced to 50-60ms in
>> client mode.
>>
>> I've used a trick to avoid declaring all the caches in configuration file
>> or calling getOrCreateCache for each of them.
>> To give it a try, just add the line below before the queries execution
>> logic in your example.
>> IgniteStorage.getInstance().getIgniteCache(Quote.class.getName(), 0
>> ).unwrap(IgniteCacheProxy.class).context().kernalContext().
>> cache().createMissingCaches();
>>
>> Kind regards,
>> Alex.
>>
>> On Thu, Apr 13, 2017 at 10:08 AM, woo charles [via Apache Ignite Users] 
>> <[hidden
>> email] <http:///user/SendEmail.jtp?type=node&node=11941&i=0>> wrote:
>>
>>> "If you select some data from the joined table it leads to all dynamic
>>> cache creation requests being sent" <-- is that mean the client node will
>>> copy the selected table to local?
>>>
>>> If I set false to client mode, it will become server node and
>>> start participate in caching, compute execution, stream processing, etc.,
>>> Then it will affect the performance of my client program. How can I
>>> prevent this?
>>>
>>> 2017-04-13 14:24 GMT+08:00 afedotov <[hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=11926&i=0>>:
>>>
>>>> Hi,
>>>>
>>>> Sergi, when join query is called from client
>>>> It leads to createMissingCaches being called which makes a remote
>>>> requests of a dynamic cache creation for each registered but not enabled
>>>> cache and since there is a cache for each entity there are many requests to
>>>> server nodes.
>>>>
>>>> Charles,
>>>> If you select some data from the joined table it leads to all dynamic
>>>> cache creation requests being sent therefore allowing to skip these on the
>>>> next query runs.
>>>> To disable client mode in your example just pass false to
>>>> Ignition.setClientMode(true)
>>>>
>>>> Kind regards,
>>>> Alex
>>>>
>>>>
>>>>
>>>> 13 апр. 2017 г. 5:22 AM пользователь "woo charles [via Apache Ignite
>>>> Users]" <[hidden email]
>>>> <http:///user/SendEmail.jtp?type=node&node=11925&i=0>> написал:
>>>>
>>>> I found that this time can be reduced to a value below 100ms if I
>>>> already selected some data from join query related table.
>>>> For example,
>>>> if I run 2 query "select * from Quote where stock_id = xxx" & "Select *
>>>> from StockInfo where stock_id = xxx"  first and then run the join query,
>>>> the time for 1st join query will become similar to other(around 10 -20
>>>> ms).
>>>> Why will it happen?
>>>>
>>>> Also, How to run queries from a server node? I had try
>>>> "ignite.compute().run()" but it doesn't work.
>>>>
>>>>
>>>> thanks& best regards,
>>>> Charles
>>>>
>>>> 2017-04-13 0:48 GMT+08:00 Sergi Vladykin <[hidden email]
>>>> <http:///user/SendEmail.jtp?type=node&node=11922&i=0>>:
>>>>
>>>>> Alex,
>>>>>
>>>>> Why do we have such a huge difference between client nodes and server
>>>>> nodes? Looks like we should fix it if possible. Even 7 seconds looks too
>>>>> much for me.
>>>>>
>>>>> Sergi
>>>>>
>>>>> 2017-04-12 18:11 GMT+03:00 afedotov <[hidden email]
>>>>> <http:///user/SendEmail.jtp?type=node&node=11922&i=1>>:
>>>>>
>>>>>> Hi Charles,
>>>>>>
>>>>>> You are running the query from a client node what implies additional
>>>>>> network round trips.
>>>>>> Try to run queries from a server node. In my environment it reduced
>>>>>> the time from about 7 seconds to 220ms for the first run.
>>>>>>
>>>>>> Kind regards,
>>>>>> Alex.
>>>>>>
>>>>>> On Wed, Apr 12, 2017 at 9:21 AM, woo charles [via Apache Ignite
>>>>>> Users] <[hidden email]
>>>>>> <http:///user/SendEmail.jtp?type=node&node=11908&i=0>> wrote:
>>>>>>
>>>>>>> *Sorry for wrong calculation *
>>>>>>> *-> (i.e. 3 Server node stored 236MB [2.2MB * 20 table +3.2MB * 60
>>>>>>> table] data)*
>>>>>>>
>>>>>>> *Best Regards,*
>>>>>>> *Charles*
>>>>>>>
>>>>>>> 2017-04-12 10:17 GMT+08:00 woo charles <[hidden email]
>>>>>>> <http:///user/SendEmail.jtp?type=node&node=11896&i=0>>:
>>>>>>>
>>>>>>>> *Source
>>>>>>>> code: https://drive.google.com/open?id=0B_-zUEFkybdLQVF4U2dwTE11ajA
>>>>>>>> <https://drive.google.com/open?id=0B_-zUEFkybdLQVF4U2dwTE11ajA>*
>>>>>>>>
>>>>>>>> *Below is a screen cap on GridGain's web console & the log of my
>>>>>>>> client program. *
>>>>>>>> *(i.e. 3 Server node stored 756MB [2.2MB * 10 table +3.2MB * 30
>>>>>>>> table] data)*
>>>>>>>> [image: 內置圖片 2]
>>>>>>>>
>>>>>>>> Apr 12, 2017 9:50:10 AM java.util.logging.LogManager$RootLogger log
>>>>>>>> SEVERE: Failed to resolve default logging config file:
>>>>>>>> config/java.util.logging.properties
>>>>>>>> [09:50:10]    __________  ________________
>>>>>>>> [09:50:10]   /  _/ ___/ |/ /  _/_  __/ __/
>>>>>>>> [09:50:10]  _/ // (7 7    // /  / / / _/
>>>>>>>> [09:50:10] /___/\___/_/|_/___/ /_/ /___/
>>>>>>>> [09:50:10]
>>>>>>>> [09:50:10] ver. 1.8.0#20161205-sha1:9ca40dbe
>>>>>>>> [09:50:10] 2016 Copyright(C) Apache Software Foundation
>>>>>>>> [09:50:10]
>>>>>>>> [09:50:10] Ignite documentation: http://ignite.apache.org
>>>>>>>> [09:50:10]
>>>>>>>> [09:50:10] Quiet mode.
>>>>>>>> [09:50:10]   ^-- To see **FULL** console log here add
>>>>>>>> -DIGNITE_QUIET=false or "-v" to ignite.{sh|bat}
>>>>>>>> [09:50:10]
>>>>>>>> [09:50:10] OS: Linux 3.10.0-123.el7.x86_64 amd64
>>>>>>>> [09:50:10] VM information: Java(TM) SE Runtime Environment
>>>>>>>> 1.8.0_121-b13 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM
>>>>>>>> 25.121-b13
>>>>>>>> [09:50:10] Initial heap size is 128MB (should be no less than
>>>>>>>> 512MB, use -Xms512m -Xmx512m).
>>>>>>>> [09:50:10] Configured plugins:
>>>>>>>> [09:50:10]   ^-- None
>>>>>>>> [09:50:10]
>>>>>>>> [09:50:10] Security status [authentication=off, tls/ssl=off]
>>>>>>>> [09:50:11] To start Console Management & Monitoring run
>>>>>>>> ignitevisorcmd.{sh|bat}
>>>>>>>> [09:50:11]
>>>>>>>> [09:50:11] Ignite node started OK (id=b663472c)
>>>>>>>> [09:50:11] Topology snapshot [ver=19, servers=3, clients=1, CPUs=8,
>>>>>>>> heap=3.1GB]
>>>>>>>> PreLoadDataSize = 10000
>>>>>>>> NumOfTest = 2
>>>>>>>> /----------------------- Test 0 -----------------------\
>>>>>>>> Name = SQL_Select_2_Join_10
>>>>>>>> ActionType = SQL_SELECT_2_JOIN
>>>>>>>> Object class = com.performance.test.dao.Quote
>>>>>>>> Thread Size = 80
>>>>>>>> [09:50:20] New version is available at ignite.apache.org: 1.9.0
>>>>>>>> MaxTime(First Time): 12710
>>>>>>>> Thread [SQL_Select_2_Join_10] Average Time: 18.913ms - 0.018913s,
>>>>>>>> Max Time: 183ms
>>>>>>>> \-----------------------------------------------------/
>>>>>>>> /----------------------- Test 1 -----------------------\
>>>>>>>> Name = QUERY_Quote_price_large_1000_Small_950
>>>>>>>> ActionType = QUERY
>>>>>>>> Object class = com.performance.test.dao.Quote
>>>>>>>> Thread Size = 80
>>>>>>>> MaxTime(First Time): 30
>>>>>>>> Thread [QUERY_Quote_price_large_1000_Small_950] Average Time:
>>>>>>>> 118.752ms - 0.118752s, Max Time: 1094ms
>>>>>>>> \-----------------------------------------------------/
>>>>>>>>
>>>>>>>> *Also, I found that 1st **SQL J**oin query time reduced about 2 -
>>>>>>>> 3s if my program's memory **increase** from 128mb to 1gb.*
>>>>>>>> *Is it show that this problem is due to client side not server
>>>>>>>> side?*
>>>>>>>>
>>>>>>>> *Best Regards,*
>>>>>>>> *Charles*
>>>>>>>>
>>>>>>>>
>>>>>>>> 2017-04-11 23:29 GMT+08:00 afedotov <[hidden email]
>>>>>>>> <http:///user/SendEmail.jtp?type=node&node=11896&i=1>>:
>>>>>>>>
>>>>>>>>> I'm not able to reproduce the timings you specified. Probably I do
>>>>>>>>> something wrong.
>>>>>>>>> Could you please provide a log for that case?
>>>>>>>>> Also, it would be of great help if you provide the reproducer
>>>>>>>>> sources.
>>>>>>>>>
>>>>>>>>> Kind regards,
>>>>>>>>> Alex.
>>>>>>>>>
>>>>>>>>> On Tue, Apr 11, 2017 at 4:57 AM, woo charles [via Apache Ignite
>>>>>>>>> Users] <[hidden email]
>>>>>>>>> <http:///user/SendEmail.jtp?type=node&node=11889&i=0>> wrote:
>>>>>>>>>
>>>>>>>>>> My testing program: https://drive.google.com/open?
>>>>>>>>>> id=0B_-zUEFkybdLcW5LR3RXZnJfOFE
>>>>>>>>>>
>>>>>>>>>> It runs on linux system with 8cpu 24gb ram.
>>>>>>>>>> 3 Server node(each 1 gb) are created.
>>>>>>>>>> 20 set tables created(ie. 1 set table contain table
>>>>>>>>>> Quote, StockInfo, BidAskBrokerQueue, PreviousQuote which mean 20*4 = 
>>>>>>>>>> 80
>>>>>>>>>> table created)
>>>>>>>>>> Each table will insert 10000 records.
>>>>>>>>>>
>>>>>>>>>> After inserted data, sql join "select q.stock_id, q.price ,
>>>>>>>>>> s.symbol from Quote0.Quote as q, StockInfo0.StockInfo as s where
>>>>>>>>>>  q.stock_id = s.stock_id and q.stock_id = XXX" is perform.
>>>>>>>>>>
>>>>>>>>>> And about 13s is needed for the first sql query.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2017-04-10 14:53 GMT+08:00 Sergi Vladykin <[hidden email]
>>>>>>>>>> <http:///user/SendEmail.jtp?type=node&node=11870&i=0>>:
>>>>>>>>>>
>>>>>>>>>>> I think 13s is still too much. Can you share a reproducer?
>>>>>>>>>>>
>>>>>>>>>>> Sergi
>>>>>>>>>>>
>>>>>>>>>>> 2017-04-10 9:51 GMT+03:00 afedotov <[hidden email]
>>>>>>>>>>> <http:///user/SendEmail.jtp?type=node&node=11870&i=1>>:
>>>>>>>>>>>
>>>>>>>>>>>> Hello,
>>>>>>>>>>>>
>>>>>>>>>>>> That is an expected behavior. On the first run a query is
>>>>>>>>>>>> parsed and metadata is built for it what takes some additional time
>>>>>>>>>>>> compared to the following runs.
>>>>>>>>>>>>
>>>>>>>>>>>> Kind regards,
>>>>>>>>>>>> Alex
>>>>>>>>>>>>
>>>>>>>>>>>> 10 апр. 2017 г. 8:13 AM пользователь "woo charles [via Apache
>>>>>>>>>>>> Ignite Users]" <[hidden email]
>>>>>>>>>>>> <http:///user/SendEmail.jtp?type=node&node=11848&i=0>> написал:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I set up 3 Server nodes(8 cpu, 1gb ram) in the same server.
>>>>>>>>>>>>> 2 table each 10000 rows are entered.
>>>>>>>>>>>>>
>>>>>>>>>>>>> When I perform a *SQL Join* query on two table and run it 100
>>>>>>>>>>>>> times, I found that the first query is much slower than 
>>>>>>>>>>>>> other(i.e. First
>>>>>>>>>>>>> query used 13s & other used around 0.02s).
>>>>>>>>>>>>>
>>>>>>>>>>>>> Why will it happen?
>>>>>>>>>>>>> Can I reduce the running time on 1st query?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> ------------------------------
>>>>>>>>>>>>> If you reply to this email, your message will be added to the
>>>>>>>>>>>>> discussion below:
>>>>>>>>>>>>> http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-t
>>>>>>>>>>>>> ime-query-SQL-Join-tp11847.html
>>>>>>>>>>>>> To start a new topic under Apache Ignite Users, email [hidden
>>>>>>>>>>>>> email] <http:///user/SendEmail.jtp?type=node&node=11848&i=1>
>>>>>>>>>>>>> To unsubscribe from Apache Ignite Users, click here.
>>>>>>>>>>>>> NAML
>>>>>>>>>>>>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> ------------------------------
>>>>>>>>>>>> View this message in context: Re: Slow on 1st time query "SQL
>>>>>>>>>>>> Join"
>>>>>>>>>>>> <http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-time-query-SQL-Join-tp11847p11848.html>
>>>>>>>>>>>> Sent from the Apache Ignite Users mailing list archive
>>>>>>>>>>>> <http://apache-ignite-users.70518.x6.nabble.com/> at
>>>>>>>>>>>> Nabble.com.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ------------------------------
>>>>>>>>>> If you reply to this email, your message will be added to the
>>>>>>>>>> discussion below:
>>>>>>>>>> http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-t
>>>>>>>>>> ime-query-SQL-Join-tp11847p11870.html
>>>>>>>>>> To start a new topic under Apache Ignite Users, email [hidden
>>>>>>>>>> email] <http:///user/SendEmail.jtp?type=node&node=11889&i=1>
>>>>>>>>>> To unsubscribe from Apache Ignite Users, click here.
>>>>>>>>>> NAML
>>>>>>>>>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ------------------------------
>>>>>>>>> View this message in context: Re: Slow on 1st time query "SQL
>>>>>>>>> Join"
>>>>>>>>> <http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-time-query-SQL-Join-tp11847p11889.html>
>>>>>>>>> Sent from the Apache Ignite Users mailing list archive
>>>>>>>>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------
>>>>>>> If you reply to this email, your message will be added to the
>>>>>>> discussion below:
>>>>>>> http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-t
>>>>>>> ime-query-SQL-Join-tp11847p11896.html
>>>>>>> To start a new topic under Apache Ignite Users, email [hidden email]
>>>>>>> <http:///user/SendEmail.jtp?type=node&node=11908&i=1>
>>>>>>> To unsubscribe from Apache Ignite Users, click here.
>>>>>>> NAML
>>>>>>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------
>>>>>> View this message in context: Re: Slow on 1st time query "SQL Join"
>>>>>> <http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-time-query-SQL-Join-tp11847p11908.html>
>>>>>> Sent from the Apache Ignite Users mailing list archive
>>>>>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> ------------------------------
>>>> If you reply to this email, your message will be added to the
>>>> discussion below:
>>>> http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-t
>>>> ime-query-SQL-Join-tp11847p11922.html
>>>> To start a new topic under Apache Ignite Users, email [hidden email]
>>>> <http:///user/SendEmail.jtp?type=node&node=11925&i=1>
>>>> To unsubscribe from Apache Ignite Users, click here.
>>>> NAML
>>>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>>>
>>>>
>>>>
>>>> *first_run_from_client.png* (119K) Download Attachment
>>>> <http://apache-ignite-users.70518.x6.nabble.com/attachment/11925/0/first_run_from_client.png>
>>>> *first_run_from_client.png* (119K) Download Attachment
>>>> <http://apache-ignite-users.70518.x6.nabble.com/attachment/11925/1/first_run_from_client.png>
>>>>
>>>> ------------------------------
>>>> View this message in context: Re: Slow on 1st time query "SQL Join"
>>>> <http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-time-query-SQL-Join-tp11847p11925.html>
>>>> Sent from the Apache Ignite Users mailing list archive
>>>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>>>
>>>
>>>
>>>
>>> ------------------------------
>>> If you reply to this email, your message will be added to the discussion
>>> below:
>>> http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-t
>>> ime-query-SQL-Join-tp11847p11926.html
>>> To start a new topic under Apache Ignite Users, email [hidden email]
>>> <http:///user/SendEmail.jtp?type=node&node=11941&i=1>
>>> To unsubscribe from Apache Ignite Users, click here.
>>> NAML
>>> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>>
>>
>>
>> ------------------------------
>> View this message in context: Re: Slow on 1st time query "SQL Join"
>> <http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-time-query-SQL-Join-tp11847p11941.html>
>> Sent from the Apache Ignite Users mailing list archive
>> <http://apache-ignite-users.70518.x6.nabble.com/> at Nabble.com.
>>
>
>
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://apache-ignite-users.70518.x6.nabble.com/Slow-on-
> 1st-time-query-SQL-Join-tp11847p11942.html
> To start a new topic under Apache Ignite Users, email
> ml-node+s70518n1...@n6.nabble.com
> To unsubscribe from Apache Ignite Users, click here
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=1&code=YWxleGFuZGVyLmZlZG90b2ZmQGdtYWlsLmNvbXwxfC0xMzYxNTU0NTg=>
> .
> NAML
> <http://apache-ignite-users.70518.x6.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Slow-on-1st-time-query-SQL-Join-tp11847p11947.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Reply via email to