[jira] [Commented] (IGNITE-20617) SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)

2023-11-02 Thread Ivan Artiukhov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-20617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17782326#comment-17782326
 ] 

Ivan Artiukhov commented on IGNITE-20617:
-

[~korlov] 
AI3, rev. a9ed167a5045ba166a6b3c84f8fb9df486579b14 (Nov 2 2023)

I've run the same test you run, i.e. with 2 server nodes and with 2 IP 
addresses passed to thin client.
{code:java}
Command line: -db site.ycsb.db.ignite3.IgniteSqlClient -t -P 
/opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
operationcount=1 -p recordcount=1 -p warmupops=2000 -p 
dataintegrity=true -p measurementtype=timeseries -p status.interval=1 -p 
hosts=192.168.1.122,192.168.1.34 -p recordcount=20 -p operationcount=20 
-s 
YCSB Client 2023.7{code}
Unfortunately I see far different performance than on your graph. 

!2023-11-02-15-41-10_run.png!

The benchmark log: [^2023-11-02-15-41-10_run.txt]

Server nodes logs, JFR, iostat: [^2023-11-02-15-41-10_logs.zip]

 

> SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)
> 
>
> Key: IGNITE-20617
> URL: https://issues.apache.org/jira/browse/IGNITE-20617
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Ivan Artiukhov
>Assignee: Konstantin Orlov
>Priority: Major
>  Labels: ignite-3, performance
> Attachments: 2023-11-02-15-41-10_logs.zip, 
> 2023-11-02-15-41-10_run.png, 2023-11-02-15-41-10_run.txt, 
> 6b6f0c-select-2srv.png, 6b6f0c-select-logs.zip.zip, echarts.png, 
> ignite-config.json, jdbc-1node-select.png, jdbc-2nodes-select.png, 
> sql-1node-select.png, sql-2nodes-select.png, sql-logs-2-server-nodes.zip
>
>
> Ignite 3, rev. 7d188ac7ae068bd69ff0e6e6cfe5a32ac5749d17
> Benchmark: 
> [https://github.com/gridgain/YCSB/blob/ycsb-2023.3/ignite3/src/main/java/site/ycsb/db/ignite3/IgniteSqlClient.java]
>  
> The benchmark establishes an SQL {{Session}} and perform {{SELECTs}} via 
> {{{}preparedStatement{}}}.
>  
> Steps:
>  * Run an Ignite cluster of 2 nodes with the attached config 
> [^ignite-config.json] .
>  ** *fsync = false*
>  * Run the SQL YCSB benchmark in preload mode:
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -load -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> recordcount=1 -p dataintegrity=true -p measurementtype=timeseries -p 
> hosts=192.168.1.60}}
>  * Run the SQL YCSB benchmark in 100% read mode: 
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -t -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> operationcount=1 -p recordcount=1 -p dataintegrity=true -p 
> measurementtype=timeseries -p hosts=192.168.1.60 -s}}
>  * Observe the following average throughput on reads:
> !sql-2nodes-select.png!
> Server node's logs: [^sql-logs-2-server-nodes.zip]
> Repeat the test with only 1 server node and observe {*}~20x better throughput 
> on reads{*}:
> !sql-1node-select.png!
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-20617) SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)

2023-11-02 Thread Ivan Artiukhov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-20617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17782180#comment-17782180
 ] 

Ivan Artiukhov commented on IGNITE-20617:
-

[~korlov] I see that you run the benchmarks with 2 server node IPs passed to 
the client.
My results are also for 2 nodes, but I passed 1 server node IP address.

I'll check one more time. 

> SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)
> 
>
> Key: IGNITE-20617
> URL: https://issues.apache.org/jira/browse/IGNITE-20617
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Ivan Artiukhov
>Assignee: Konstantin Orlov
>Priority: Major
>  Labels: ignite-3, performance
> Attachments: 6b6f0c-select-2srv.png, 6b6f0c-select-logs.zip.zip, 
> echarts.png, ignite-config.json, jdbc-1node-select.png, 
> jdbc-2nodes-select.png, sql-1node-select.png, sql-2nodes-select.png, 
> sql-logs-2-server-nodes.zip
>
>
> Ignite 3, rev. 7d188ac7ae068bd69ff0e6e6cfe5a32ac5749d17
> Benchmark: 
> [https://github.com/gridgain/YCSB/blob/ycsb-2023.3/ignite3/src/main/java/site/ycsb/db/ignite3/IgniteSqlClient.java]
>  
> The benchmark establishes an SQL {{Session}} and perform {{SELECTs}} via 
> {{{}preparedStatement{}}}.
>  
> Steps:
>  * Run an Ignite cluster of 2 nodes with the attached config 
> [^ignite-config.json] .
>  ** *fsync = false*
>  * Run the SQL YCSB benchmark in preload mode:
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -load -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> recordcount=1 -p dataintegrity=true -p measurementtype=timeseries -p 
> hosts=192.168.1.60}}
>  * Run the SQL YCSB benchmark in 100% read mode: 
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -t -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> operationcount=1 -p recordcount=1 -p dataintegrity=true -p 
> measurementtype=timeseries -p hosts=192.168.1.60 -s}}
>  * Observe the following average throughput on reads:
> !sql-2nodes-select.png!
> Server node's logs: [^sql-logs-2-server-nodes.zip]
> Repeat the test with only 1 server node and observe {*}~20x better throughput 
> on reads{*}:
> !sql-1node-select.png!
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-20617) SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)

2023-10-31 Thread Konstantin Orlov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-20617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17781390#comment-17781390
 ] 

Konstantin Orlov commented on IGNITE-20617:
---

[~Artukhov], sorry for bothering you, but could you double check please?

I've run this benchmark on 2 server node with following run configuration 

{code:java}
Command line: -db site.ycsb.db.ignite3.IgniteSqlClient -t -P 
/opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
operationcount=1 -p recordcount=1 -p warmupops=2000 -p 
dataintegrity=true -p measurementtype=timeseries -p status.interval=1 -p 
hosts=192.168.1.41,192.168.1.6 -p operationcount=10 -p recordcount=10 -s
YCSB Client 2023.7
{code}

and results looks normal to me:

 !echarts.png! 

Although I run benchmark on fresh main 
(753dcde0095e0061efddc15a61c0ae2dc8c80239), I've also checked history between 
two revisions, and have found no commits that potentially may address this issue

> SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)
> 
>
> Key: IGNITE-20617
> URL: https://issues.apache.org/jira/browse/IGNITE-20617
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Ivan Artiukhov
>Assignee: Konstantin Orlov
>Priority: Major
>  Labels: ignite-3, performance
> Attachments: 6b6f0c-select-2srv.png, 6b6f0c-select-logs.zip.zip, 
> echarts.png, ignite-config.json, jdbc-1node-select.png, 
> jdbc-2nodes-select.png, sql-1node-select.png, sql-2nodes-select.png, 
> sql-logs-2-server-nodes.zip
>
>
> Ignite 3, rev. 7d188ac7ae068bd69ff0e6e6cfe5a32ac5749d17
> Benchmark: 
> [https://github.com/gridgain/YCSB/blob/ycsb-2023.3/ignite3/src/main/java/site/ycsb/db/ignite3/IgniteSqlClient.java]
>  
> The benchmark establishes an SQL {{Session}} and perform {{SELECTs}} via 
> {{{}preparedStatement{}}}.
>  
> Steps:
>  * Run an Ignite cluster of 2 nodes with the attached config 
> [^ignite-config.json] .
>  ** *fsync = false*
>  * Run the SQL YCSB benchmark in preload mode:
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -load -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> recordcount=1 -p dataintegrity=true -p measurementtype=timeseries -p 
> hosts=192.168.1.60}}
>  * Run the SQL YCSB benchmark in 100% read mode: 
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -t -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> operationcount=1 -p recordcount=1 -p dataintegrity=true -p 
> measurementtype=timeseries -p hosts=192.168.1.60 -s}}
>  * Observe the following average throughput on reads:
> !sql-2nodes-select.png!
> Server node's logs: [^sql-logs-2-server-nodes.zip]
> Repeat the test with only 1 server node and observe {*}~20x better throughput 
> on reads{*}:
> !sql-1node-select.png!
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-20617) SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)

2023-10-27 Thread Ivan Artiukhov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-20617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17780404#comment-17780404
 ] 

Ivan Artiukhov commented on IGNITE-20617:
-

AI3, rev. 6b6f0cb6109d7906a980a31522a1b9c36f88e43a (Fri Oct 27)

The same benchmark still shows poor SELECTs performance on 2 server nodes. 

!6b6f0c-select-2srv.png!

Nodes logs, GC logs: [^6b6f0c-select-logs.zip.zip] 

> SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)
> 
>
> Key: IGNITE-20617
> URL: https://issues.apache.org/jira/browse/IGNITE-20617
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Ivan Artiukhov
>Assignee: Konstantin Orlov
>Priority: Major
>  Labels: ignite-3, performance
> Attachments: 6b6f0c-select-2srv.png, 6b6f0c-select-logs.zip.zip, 
> ignite-config.json, jdbc-1node-select.png, jdbc-2nodes-select.png, 
> sql-1node-select.png, sql-2nodes-select.png, sql-logs-2-server-nodes.zip
>
>
> Ignite 3, rev. 7d188ac7ae068bd69ff0e6e6cfe5a32ac5749d17
> Benchmark: 
> [https://github.com/gridgain/YCSB/blob/ycsb-2023.3/ignite3/src/main/java/site/ycsb/db/ignite3/IgniteSqlClient.java]
>  
> The benchmark establishes an SQL {{Session}} and perform {{SELECTs}} via 
> {{{}preparedStatement{}}}.
>  
> Steps:
>  * Run an Ignite cluster of 2 nodes with the attached config 
> [^ignite-config.json] .
>  ** *fsync = false*
>  * Run the SQL YCSB benchmark in preload mode:
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -load -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> recordcount=1 -p dataintegrity=true -p measurementtype=timeseries -p 
> hosts=192.168.1.60}}
>  * Run the SQL YCSB benchmark in 100% read mode: 
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -t -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> operationcount=1 -p recordcount=1 -p dataintegrity=true -p 
> measurementtype=timeseries -p hosts=192.168.1.60 -s}}
>  * Observe the following average throughput on reads:
> !sql-2nodes-select.png!
> Server node's logs: [^sql-logs-2-server-nodes.zip]
> Repeat the test with only 1 server node and observe {*}~20x better throughput 
> on reads{*}:
> !sql-1node-select.png!
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-20617) SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)

2023-10-17 Thread Konstantin Orlov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-20617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17776116#comment-17776116
 ] 

Konstantin Orlov commented on IGNITE-20617:
---

Temporal fix should be introduced in IGNITE-20668

> SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)
> 
>
> Key: IGNITE-20617
> URL: https://issues.apache.org/jira/browse/IGNITE-20617
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Ivan Artiukhov
>Priority: Major
>  Labels: ignite-3, performance
> Attachments: ignite-config.json, jdbc-1node-select.png, 
> jdbc-2nodes-select.png, sql-1node-select.png, sql-2nodes-select.png, 
> sql-logs-2-server-nodes.zip
>
>
> Ignite 3, rev. 7d188ac7ae068bd69ff0e6e6cfe5a32ac5749d17
> Benchmark: 
> [https://github.com/gridgain/YCSB/blob/ycsb-2023.3/ignite3/src/main/java/site/ycsb/db/ignite3/IgniteSqlClient.java]
>  
> The benchmark establishes an SQL {{Session}} and perform {{SELECTs}} via 
> {{{}preparedStatement{}}}.
>  
> Steps:
>  * Run an Ignite cluster of 2 nodes with the attached config 
> [^ignite-config.json] .
>  ** *fsync = false*
>  * Run the SQL YCSB benchmark in preload mode:
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -load -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> recordcount=1 -p dataintegrity=true -p measurementtype=timeseries -p 
> hosts=192.168.1.60}}
>  * Run the SQL YCSB benchmark in 100% read mode: 
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -t -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> operationcount=1 -p recordcount=1 -p dataintegrity=true -p 
> measurementtype=timeseries -p hosts=192.168.1.60 -s}}
>  * Observe the following average throughput on reads:
> !sql-2nodes-select.png!
> Server node's logs: [^sql-logs-2-server-nodes.zip]
> Repeat the test with only 1 server node and observe {*}~20x better throughput 
> on reads{*}:
> !sql-1node-select.png!
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-20617) SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)

2023-10-17 Thread Konstantin Orlov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-20617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17776108#comment-17776108
 ] 

Konstantin Orlov commented on IGNITE-20617:
---

The reason of such drastic degradation is code in 
{{TxManagerImpl#currentReadTimestamp()}} that was commented out under {{TODO: 
IGNITE-20378 Fix it}}. Because of that, RO transaction doesn't start in the 
past as it should, which results in a waiting of a safe time on every read.  

> SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)
> 
>
> Key: IGNITE-20617
> URL: https://issues.apache.org/jira/browse/IGNITE-20617
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Ivan Artiukhov
>Priority: Major
>  Labels: ignite-3, performance
> Attachments: ignite-config.json, jdbc-1node-select.png, 
> jdbc-2nodes-select.png, sql-1node-select.png, sql-2nodes-select.png, 
> sql-logs-2-server-nodes.zip
>
>
> Ignite 3, rev. 7d188ac7ae068bd69ff0e6e6cfe5a32ac5749d17
> Benchmark: 
> [https://github.com/gridgain/YCSB/blob/ycsb-2023.3/ignite3/src/main/java/site/ycsb/db/ignite3/IgniteSqlClient.java]
>  
> The benchmark establishes an SQL {{Session}} and perform {{SELECTs}} via 
> {{{}preparedStatement{}}}.
>  
> Steps:
>  * Run an Ignite cluster of 2 nodes with the attached config 
> [^ignite-config.json] .
>  ** *fsync = false*
>  * Run the SQL YCSB benchmark in preload mode:
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -load -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> recordcount=1 -p dataintegrity=true -p measurementtype=timeseries -p 
> hosts=192.168.1.60}}
>  * Run the SQL YCSB benchmark in 100% read mode: 
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -t -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> operationcount=1 -p recordcount=1 -p dataintegrity=true -p 
> measurementtype=timeseries -p hosts=192.168.1.60 -s}}
>  * Observe the following average throughput on reads:
> !sql-2nodes-select.png!
> Server node's logs: [^sql-logs-2-server-nodes.zip]
> Repeat the test with only 1 server node and observe {*}~20x better throughput 
> on reads{*}:
> !sql-1node-select.png!
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-20617) SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)

2023-10-11 Thread Ivan Artiukhov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-20617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17773929#comment-17773929
 ] 

Ivan Artiukhov commented on IGNITE-20617:
-

The similar drop is observed on the following JDBC benchmark: 
[https://github.com/gridgain/YCSB/blob/ycsb-2023.3/ignite3/src/main/java/site/ycsb/db/ignite3/IgniteJdbcClient.java]

100% read on 2 nodes cluster:

!jdbc-2nodes-select.png!

100% read on 1 node cluster:

!jdbc-1node-select.png!

> SQL: ~20x performance degradation in SELECTS (2 nodes VS 1 node)
> 
>
> Key: IGNITE-20617
> URL: https://issues.apache.org/jira/browse/IGNITE-20617
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Ivan Artiukhov
>Priority: Major
>  Labels: ignite-3, performance
> Attachments: ignite-config.json, jdbc-1node-select.png, 
> jdbc-2nodes-select.png, sql-1node-select.png, sql-2nodes-select.png
>
>
> Ignite 3, rev. 7d188ac7ae068bd69ff0e6e6cfe5a32ac5749d17
> Benchmark: 
> [https://github.com/gridgain/YCSB/blob/ycsb-2023.3/ignite3/src/main/java/site/ycsb/db/ignite3/IgniteSqlClient.java]
>  
> The benchmark establishes an SQL {{Session}} and perform {{SELECTs}} via 
> {{{}preparedStatement{}}}.
>  
> Steps:
>  * Run an Ignite cluster of 2 nodes with the attached config 
> [^ignite-config.json]
>  * Run the SQL YCSB benchmark in preload mode:
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -load -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> recordcount=1 -p dataintegrity=true -p measurementtype=timeseries -p 
> hosts=192.168.1.60}}
>  * Run the SQL YCSB benchmark in 100% read mode: 
>  ** {{-db site.ycsb.db.ignite3.IgniteSqlClient -t -P 
> /opt/pubagent/poc/config/ycsb/workloads/workloadc -threads 1 -p 
> operationcount=1 -p recordcount=1 -p dataintegrity=true -p 
> measurementtype=timeseries -p hosts=192.168.1.60 -s}}
>  * Observe the following average throughput on reads:
> !sql-2nodes-select.png!
> Repeat the test with only 1 server node and observe {*}~20x better throughput 
> on reads{*}:
> !sql-1node-select.png!
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)