通过对比48个线程的开始时间和结束时间,我明白为什么会这样了,我的是8核cpu,48个线程每个线程负责写200条记录,因为是异步写,所以这些线程不会阻塞,每次最多只能有8个线程执行,48个线程的开始时间几乎是以8为一组然后顺序递增的,所以144000后面的total time实际上约等于最后一个线程的结束时间减去第一个线程的开始时间,而9600后面的total time是每个线程写200条记录所花的时间。48个线程超过了cpu最大核数,使用异步写时,实际上类似于以8为一组串行执行。收起
@zhh-4096
每次开48个线程并发逐条写入9600条记录,mysql 的测试结果很不稳定,最新版本的 lealone 即便用同步 jdbc api 也能秒杀 mysql,若是用异步 jdbc api,那就是几十倍的差距。截图里的 total time 不准,因为把线程启动时间算在内了,如果累加每次写入9600条记录的时间,要远远小于 total time。
