文章目录

最近TDH_Socket在 淘宝 某核心应用上进行了一次业务压测

此应用以写入为主 Insert update delete TPS基本一致

MySQL 使用Percona 5.5.18

数据库关键配置 :

innodb_flush_method = O_DIRECT

innodb_file_per_table = 1

innodb_flush_log_at_trx_commit = 1

innodb_buffer_pool_size = 12G

tdh_socket_write_thread_num = 8

性能对比:






















































TDH_Socket

刚启动时的MySQL

稳定后的MySQL

TPS







InnoDB Statement







CPU







IO读写







l TDH_Socket采用group commit之后 对IO的节省很大 就算达到较高的TPS io占用还是比较低(相对MySQL)


l TDH_Socket也比较节省CPU


l TDH_Socket的输出TPS一直比较稳定

此次压测也对TDH_Socket本身进行了很过bug修复和功能改进

现在使用JDBC能支持Blob,也实现了一个带池功能的DataSource而且异常信息更加详细

而且后端的hash也进行了优化可以使表分配到写线程更加平均,利用率更高

hash的优化就是会判断表名后面是否跟数字 如果有数字那么hash值就是这些数字

PS:因为现在分表都是在表名最后加数字来区分,这样hash使mod到写线程最平均

TDH_Socket 源码:https://github.com/taobao/TDH_Socket

Java客户端源码: https://github.com/taobao/tdhs-java-client

文章目录