首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

TPC TiKV:Hackathon 中最硬核项目是如何炼成的?| TPC 战队访谈

数据库调优可以使数据库应用运行得更快,但对于很多人来说,对数据库内核进行调优是一项很有挑战的“技术活”,是只属于少部分内核研发们的“游戏”。但即使是他们,对数据库内核进行性能调优,也充满了不确定性,它需要综合考虑各种复杂因素,如硬件层面的 CPU、 I/O、 内存和网络,以及软件层面关于操作系统、中间件、数据库参数等配置,还有运行在数据库上的各种查询和命令等。在本次 Hackathon 2021 比赛中,TPC 战队就完成了这一项“挑战”,采用 bottom-up 的设计思路,更好地利用硬件资源,使用 TPC (thread-per-core) 线程模型优化了 TiKV 的写入性能、性能稳定性和自适应能力。TPC 战队也凭借这一硬核项目一举斩获了三等奖与技术潜力奖。

02

NIO的好处,Netty线程模型,什么是零拷贝

Java IO的各种流是阻塞的。这意味着,当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入。该线程在此期间不能再干任何事情了。Java NIO的非阻塞模式,使一个线程从某通道发送请求读取数据,但是它仅能得到目前可用的数据,如果目前没有数据可用时,就什么都不会获取。而不是保持线程阻塞,所以直至数据变的可以读取之前,该线程可以继续做其他的事情。非阻塞写也是如此。一个线程请求写入一些数据到某通道,但不需要等待它完全写入,这个线程同时可以去做别的事情。线程通常将非阻塞IO的空闲时间用于在其它通道上执行IO操作,所以一个单独的线程现在可以管理多个输入和输出通道(channel)

02
领券