Oltpbenchmark:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
第62行: 第62行:


 如果以[[PostgreSQL]]的界面測試[[CockroachDB]]時,會因為CockroachDB不支援<code>CONSTRAINT</code>指到沒有index的欄位,會需要修改PostgreSQL產生表格時的設定,並且重新編譯:
 如果以[[PostgreSQL]]的界面測試[[CockroachDB]]時,會因為CockroachDB不支援<code>CONSTRAINT</code>指到沒有index的欄位,會需要修改PostgreSQL產生表格時的設定,並且重新編譯:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cd ~/oltpbench
cd ~/oltpbench
第72行: 第73行:
ant
ant
</syntaxhighlight>
</syntaxhighlight>
另外CockroachDB只支援<code>SERIALIZE</code>模式,所以<code>tpcc.xml</code>內也修改成<code>TRANSACTION_SERIALIZABLE</code>。


== 外部連結 ==
== 外部連結 ==

2018年12月31日 (一) 05:02的版本

oltpbenchmark是一套Java写的数据库效能测试程式。

安装

先下载:

sudo apt install -y ant default-jdk openjdk-8-jdk git locales tzdata
cd ~
git clone https://github.com/oltpbenchmark/oltpbench.git

编译:

cd ~/oltpbench
ant clean
ant

设定

cd ~/oltpbench
cp config/tpcc_config_postgres.xml config/tpcc.xml
vim config/tpcc.xml
# Change "DBUrl", "username", and "password".

测试

先建立表格并且产生测试资料:

cd ~/oltpbench
./oltpbenchmark -b tpcc -c config/tpcc.xml --create=true
./oltpbenchmark -b tpcc -c config/tpcc.xml --load=true

实际测试:

# Test it:
cd ~/oltpbench
./oltpbenchmark -b tpcc -c config/tpcc.xml --execute=true

# Filter rate data only:
cd ~/oltpbench
./oltpbenchmark -b tpcc -c config/tpcc.xml --execute=true | grep 'Rate limited'

# Do benchmark 100 times:
cd ~/oltpbench
for i in {1..100}; do
  ./oltpbenchmark -b tpcc -c config/tpcc.xml --execute=true 2>&1 | grep 'Rate limited'
done

# Get average result:
cd ~/oltpbench
(for i in {1..100}; do
  ./oltpbenchmark -b tpcc -c config/tpcc.xml --execute=true 2>&1 | grep 'Rate limited'
done) | awk '{sum += $(NF - 1); print $(NF - 1)} END {print sum / NR}'

其他

如果以PostgreSQL的界面测试CockroachDB时,会因为CockroachDB不支援CONSTRAINT指到没有index的字段,会需要修改PostgreSQL产生表格时的设定,并且重新编译:

cd ~/oltpbench
vim src/com/oltpbenchmark/benchmarks/tpcc/ddls/tpcc-postgres-ddl.sql
# Remove all "ALTER TABLE ... ADD CONSTRAINT ..." entries near the end of the file.

# Then rebuild oltpbenchmark:
cd ~/oltpbench
ant clean
ant

另外CockroachDB只支援SERIALIZE模式,所以tpcc.xml内也修改成TRANSACTION_SERIALIZABLE

外部链接