【TDengine 使用环境】
测试环境
【TDengine 版本】
docker 3.3.8.4
【操作系统以及版本】
【部署方式】容器
【遇到的问题:问题现象及影响】JAVA连接器使用原生JDBC、REST、WS这几种有没有性能或者资源消耗的对比?用哪种连接更适合
【TDengine 使用环境】
测试环境
【TDengine 版本】
docker 3.3.8.4
【操作系统以及版本】
【部署方式】容器
【遇到的问题:问题现象及影响】JAVA连接器使用原生JDBC、REST、WS这几种有没有性能或者资源消耗的对比?用哪种连接更适合
原生 JDBC 需要连接 TDengine 客户端的动态库,所以适合本地连接。
REST 和 WS 连接 TaosAdapter(提供 REST 接口),使用 REST 和 WebSocket 方式创建连接。
如果客户端和服务端不在一台机器需要使用 REST 和 WS 连接。WS 已经优化接近原生 JDBC 的水平。建议使用此连接方式。
JAVA连接器使用原生JDBC、REST、WS这几种有没有性能或者资源消耗的对比?
建议使用 websocket 方式。
我想知道性能比较和资源比较的数据 这个有提供吗
以及 慢在哪里的原因
这个你们可以在自己的环境上,基于自己的业务做测试验证。
我正在测试,结果已经可以看出来了 但是还是太懂 为什么会慢的原因
这两个分别是 jdbc 和 rest 的测试 10万 数据16线程的压测
性能涉及到 cpu、内存、磁盘IO、网络IO和带宽,任意一个先达到瓶颈,那性能也就到峰值了。
为什么 rest的公网流出带宽使用率这么高(后面跑满那个) jdbc的反倒没有那么多(前面2个峰值) 我想了解下原理
因为 jdbc 使用的自定的内部格式,自然比 restful 的http 协议要少很多开销。
我在8v16g服务器上用taosBenchmark 测试10w数据16线程 qps 可以到4000左右吧
java代码 用ws测试 qps 大概1100多点吧
这种qps算是正常吗 ? 还有没有提升空间 ?
应该差不多,具体环境会有点差异,比如写入数据在存储中分散度。
写入感觉问题不大 目前测试的是读取的qps