测试MySQL和Postgresql数据库查询性能怎么做到单线程和多线程查询

测试MySQL和Postgresql数据库查询性能怎么做到单线程和多线程查询,第1张

可以用多进程模拟。如果用批处理脚本的话。

看你怎么测。

如果使用jdbc程序段,多线程确实可以模拟。一个线程一个连接。

设计好标准的数据集。网上或许有下载的。记录好测试环境和测试各个阶段所花时间。

(oracle为例)使用数据库中的序列sequence来代替你的编号表 ,使用

SELECT trim(to_char(MY_SEQ.NEXTVAL,'0000')) FROM DUAL来获取

创建sequence

create sequence MY_SEQ

minvalue 1

maxvalue 9999

start with 0000

increment by 1

cache 20

cycle

Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写。官方提供的数据是可以达到100000+的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。

Redis并没有直接使用Libevent,而是自己完成了一个非常轻量级的对select、epoll、evport、kqueue这些通用的接口的实现。在不同的系统调用选用适合的接口,linux下默认是epoll。

因为Libevent比较重更通用代码量也就很庞大,拥有很多Redis用不上的功能,Redis为了追求“轻巧”并且去除依赖,就选择自己去封装了一套。

单线程优点:

同步应用程序的开发比较容易,但由于需要在上一个任务完成后才能开始新的任务,所以其效率通常比多线程应用程序低。如果完成同步任务所用的时间比预计时间长,应用程序可能会不响应。多线程处理可以同时运行多个过程。例如,文字处理器应用程序在您处理文档的同时,可以检查拼写(作为单独的任务)。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9911484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存