| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| # |
| # Benchmarks for SELECT operations. Operations are measured via JDBC thin, JDBC Thick and native sql. |
| # |
| |
| now0=`date +'%H%M%S'` |
| |
| # JVM options. |
| JVM_OPTS=${JVM_OPTS}" -DIGNITE_QUIET=false" |
| |
| # Uncomment to enable concurrent garbage collection (GC) if you encounter long GC pauses. |
| JVM_OPTS=${JVM_OPTS}" \ |
| -Xms8g \ |
| -Xmx8g \ |
| -Xloggc:./gc${now0}.log \ |
| -XX:+PrintGCDetails \ |
| -verbose:gc \ |
| -XX:+UseParNewGC \ |
| -XX:+UseConcMarkSweepGC \ |
| -XX:+PrintGCDateStamps \ |
| " |
| |
| #Ignite version |
| ver="RELEASE-" |
| |
| # List of default probes. |
| # Add DStatProbe or VmStatProbe if your OS supports it (e.g. if running on Linux). |
| BENCHMARK_DEFAULT_PROBES=ThroughputLatencyProbe,PercentileProbe,DStatProbe |
| |
| # Packages where the specified benchmark is searched by reflection mechanism. |
| BENCHMARK_PACKAGES=org.yardstickframework,org.apache.ignite.yardstick |
| |
| # Flag which indicates to restart the servers before every benchmark execution. |
| RESTART_SERVERS=true |
| |
| # Probe point writer class name. |
| # BENCHMARK_WRITER= |
| |
| # The benchmark is applicable only for 2 servers (the second server is started in client mode) and 1 driver. |
| SERVER_HOSTS=localhost,localhost |
| DRIVER_HOSTS=localhost |
| |
| # Remote username. |
| # REMOTE_USER= |
| |
| # Number of nodes, used to wait for the specified number of nodes to start. |
| nodesNum=$((`echo ${SERVER_HOSTS} | tr ',' '\n' | wc -l` + `echo ${DRIVER_HOSTS} | tr ',' '\n' | wc -l`)) |
| |
| # Backups count. |
| b=1 |
| |
| # Warmup. |
| w=30 |
| |
| # Duration. |
| d=300 |
| |
| # Threads count. |
| t=4 |
| |
| # Sync mode. |
| sm=FULL_SYNC |
| |
| # Jobs. |
| j=10 |
| |
| |
| # Note: don't forget to update --clientNodesAfterId value if benchmark is run on more than 2 hosts. |
| commonProps="\ |
| -cfg ${SCRIPT_DIR}/../config/ignite-localhost-config.xml \ |
| -nn ${nodesNum} -b ${b} -w ${w} -d ${d} -t ${t} \ |
| -sm ${sm} -sn IgniteNode \ |
| --clientNodesAfterId 0 \ |
| -cl \ |
| " |
| |
| # Run configuration which contains all benchmarks. |
| # Note that each benchmark is set to run for 300 seconds (5 min) with warm-up set to 60 seconds (1 minute). |
| CONFIGS="\ |
| ${commonProps} -jdbc jdbc:ignite:thin://auto.find/ \ |
| -dn JdbcSqlQueryRangeBenchmark \ |
| --select-command BY_PRIMARY_KEY \ |
| --sqlRange 1 \ |
| -ds ${ver}sql-select-pk-jdbc-thin-r1-${b}-backup, \ |
| ${commonProps} -jdbc jdbc:ignite:cfg://cache=query@config/ignite-jdbc-config.xml \ |
| -dn JdbcSqlQueryRangeBenchmark \ |
| --select-command BY_PRIMARY_KEY \ |
| --sqlRange 1 \ |
| -ds ${ver}sql-select-pk-jdbc-thick-r1-${b}-backup, \ |
| ${commonProps} \ |
| -dn NativeSqlQueryRangeBenchmark \ |
| --select-command BY_PRIMARY_KEY \ |
| --sqlRange 1 \ |
| -ds ${ver}sql-select-pk-native-sql-r1-${b}-backup, \ |
| \ |
| ${commonProps} -jdbc jdbc:ignite:thin://auto.find/ \ |
| -dn JdbcSqlQueryRangeBenchmark \ |
| --select-command BY_VALUE \ |
| --sqlRange 1 \ |
| -ds ${ver}sql-select-val-jdbc-thin-r1-${b}-backup, \ |
| ${commonProps} -jdbc jdbc:ignite:cfg://cache=query@config/ignite-jdbc-config.xml \ |
| -dn JdbcSqlQueryRangeBenchmark \ |
| --select-command BY_VALUE \ |
| --sqlRange 1 \ |
| -ds ${ver}sql-select-val-jdbc-thick-r1-${b}-backup, \ |
| ${commonProps} \ |
| -dn NativeSqlQueryRangeBenchmark \ |
| --select-command BY_VALUE \ |
| --sqlRange 1 \ |
| -ds ${ver}sql-select-val-native-sql-r1-${b}-backup, \ |
| \ |
| ${commonProps} -jdbc jdbc:ignite:thin://auto.find/ \ |
| -dn JdbcSqlQueryRangeBenchmark \ |
| --select-command BY_PRIMARY_KEY \ |
| --sqlRange 1000 \ |
| -ds ${ver}sql-select-pk-jdbc-thin-r1000-${b}-backup, \ |
| ${commonProps} -jdbc jdbc:ignite:cfg://cache=query@config/ignite-jdbc-config.xml \ |
| -dn JdbcSqlQueryRangeBenchmark \ |
| --select-command BY_PRIMARY_KEY \ |
| --sqlRange 1000 \ |
| -ds ${ver}sql-select-pk-jdbc-thick-r1000-${b}-backup, \ |
| ${commonProps} \ |
| -dn NativeSqlQueryRangeBenchmark \ |
| --select-command BY_PRIMARY_KEY \ |
| --sqlRange 1000 \ |
| -ds ${ver}sql-select-pk-native-sql-r1000-${b}-backup, \ |
| \ |
| ${commonProps} -jdbc jdbc:ignite:thin://auto.find/ \ |
| -dn JdbcSqlQueryRangeBenchmark \ |
| --select-command BY_VALUE \ |
| --sqlRange 1000 \ |
| -ds ${ver}sql-select-val-jdbc-thin-r1000-${b}-backup, \ |
| ${commonProps} -jdbc jdbc:ignite:cfg://cache=query@config/ignite-jdbc-config.xml \ |
| -dn JdbcSqlQueryRangeBenchmark \ |
| --select-command BY_VALUE \ |
| --sqlRange 1000 \ |
| -ds ${ver}sql-select-val-jdbc-thick-r1000-${b}-backup, \ |
| ${commonProps} \ |
| -dn NativeSqlQueryRangeBenchmark \ |
| --select-command BY_VALUE \ |
| --sqlRange 1000 \ |
| -ds ${ver}sql-select-val-native-sql-r1000-${b}-backup \ |
| " |