压测下来最终发现:jdbc 客户端还是使用 bio(阻塞 io)更好,异步 api + nio 才是神仙搭配!

lealone 的 jdbc 客户端有4种组合:

1. bio + 同步 api ;

2. bio + 异步 api ;

3. nio + 同步 api ;

4. nio + 异步 api ;

其中1和2的性能一样;3最慢,比1和2慢20%以上;4最快,高并发时比1-3快10倍。

把 lealone 的 jdbc 客户端从默认的 nio 改成 bio 了,因为 jdbc 本身就是同步风格的 api,应用也习惯了同步风格,bio 配同步 api 最合适。如果应用想追求极致的性能,可以用 lealone 专有的 jdbc 异步 api,然后再搭配 nio,性能马上快10倍,缺点就是要适应异步 api 的编程风格。

Reply to this note

Please Login to reply.

Discussion

No replies yet.