title | date | summary | tags | |||
---|---|---|---|---|---|---|
Weekly update (July 23 ~ July 29, 2016) |
2016-07-29 |
Last week, we landed 27 PRs in the TiDB repositories and 34 PRs in the TiKV repositories. |
|
Last week, we landed 27 PRs in the TiDB repositories and 34 PRs in the TiKV repositories.
- Support cost based query optimization.
- Set the new query optimizer as default to improve the speed of complex queries. Meanwhile, a start-up parameter is provided to switch to the old query optimizer.
- Use Varint to encode the Column Value with integer type and Column ID, which saves storage space significantly.
- Add a Documents repository.
- Supprt the Hex Function.
- Simplify the compling and deployment for better usability.
- Fix several bugs.
- Support building TiKV by linking static RocksDB automatically. You can build TiKV in one machine and copy the binary to other machines to use directly as long as the machines have the same architecture and operation system.
- Supprt getting snapshot asynchronously for higher throughput and better performance, see benchmark.
- Use PipeBuf to receive data to reduce system call and memory allocation.
- Use Varint to encode un-comparable integers to save disk space.
- Use one
SendCh
to clean up duplicated code. - Add user documents on how to build and use TiKV.
- Embed etcd to for easier deployment.
- Add a health check for Store.
- Add user documents on how to build and use PD.
- Clean up the command flags.
Use sysbench to benchmark getting snapshot asynchronously and synchronously in 3-node TiKV.
# Prepare data
sysbench --test=./lua-tests/db/oltp.lua --mysql-host=${host} --mysql-port=${port} \
--mysql-user=${user} --mysql-password=${password} --oltp-tables-count=1 \
--oltp-table-size=5120000 --rand-init=on prepare
# Run benchmark
sysbench --test=./lua-tests/db/select.lua --mysql-host=${host} --mysql-port=${port} \
--mysql-user=${user} --mysql-password=${password} --oltp-tables-count=1 \
--oltp-table-size=5120000 --num-threads=${threads} --report-interval=60 \
--max-requests=5120000 --percentile=99 run
|Threads|Async qps|Async avg/.99 latency|Sync qps|Sync avg/.99 latency| |---|---|---|---|---|---| |32|13347|2.4/4.61|12345|2.59/4.78| |64|14210|4.50/7.78|11868|5.39/8.50| 128|14075|9.09/15.22|12324|10.38/16.68|
As we can see, the qps is increased by about 15%, and the latency is decreased by about 10%.