

使用Vert.x优化关系数据库PostgreSQL访问 | foojay
source link: https://www.jdon.com/56767
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

HTTP/2 引入多路复用以大幅提高性能花了 25 年的时间。大多数数据库协议还没有遵循相同的路径,仍处于连接池的石器时代(至少具有公开记录协议的数据库)。多路复用数据库协议可以提高性能,并使连接池成为过去。它还将为从数据库中高效传输数据提供基础。
该文使用PostgreSQL异步客户端Vert.x PostgreSQL Client为 PostgreSQL 实现了流水线管道操作。使用此客户端,您可以通过将多个语句排入与数据库的单个交换中来增加并发性。
PostgreSQL 是否支持消息流水线是一个合理的问题。PostgreSQL 客户端协议使用长度前缀成帧技术。因此,它准确地知道要读取多少字节来处理消息。当 PostgreSQL 处理一条消息时,它会读取这条消息的确切字节数。然后它写入响应消息并恢复消息处理。当客户端管道传输多条消息时,PostgreSQL 只读取第一条消息,然后在写入响应消息后读取后面的消息;唯一的区别在于客户端没有等待响应发送消息。
Vert.x PostgreSQL Client 支持连接级流水线和池级流水线:
- 连接级流水线允许在同一连接上流水线查询。
- 池级流水线公开了由连接池支持的客户端 API。它可以在池的任何连接上管道多个查询。池可以应用优化,例如选择最合适的连接(例如,具有较少飞行命令的连接)
该文开发了一个基准测试,测量在单个 PostgreSQL 连接上执行 5000 个查询;每个执行都被配置为使用不同级别的流水线,详细点击标题
Recommend
-
33
A Place for all OpenJDK Java Security Updates
-
8
Spring Boot错误处理库包为REST API提供更好的错误处理好API 与坏API的区别是错误处理,Spring Boot 允许您自定义应用程序的错误处理,但是如果您想正确地执行此操作,则涉...
-
8
OpenJDK的“CRaC检查点协调恢复” - foojay Java如何协调代码的快速启动和实时优化两者之间平衡?Java虚拟机(JVM)的一个伟大之处在于,它能够使Java应用程序的性能适应其使用方式。它可以找出你的代码中哪些部分是经常使用的,然后通...
-
6
Foojay Today ...
-
6
Java JIT与AOT性能比较 解道Jdon ...
-
4
Explore - Foojay.io These posts from this and other servers in the decentralized network are gaining traction on this server right now.We run weekly book giveaways. T...
-
7
Foojay Today ...
-
4
Some ground rules. These are set and enforced by the foojay.social moderators. We welcome everyone active in the OpenJDK, Java, JavaFX, JVM, and related communities. No harassment, dogpiling, or do...
-
9
Foojay Today ...
-
6
使用 Gradle ABI实现编译规避? 解道Jdon ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK