并发访问,如何提高查询效率

使用的版本是3.4.1版本 session方式连接,配置信息:

服务器 2cpu-4G的 一台服务器,分别进行四次压测
第一种:一线程 / s

第二种:10线程/s

第三种:50线程/s

第四种:100线程/s

除了增加服务器还有其他的优化查询速度的解决方案吗?

java 客户端?

这个看截图应该是使用Jmeter 压测的某个API。
增加graphd 可以提高并发处理能力,但是对单个查询并没有优化。
想要提高单个查询效率还是要看看怎么优化查询语句的。

2 个赞

是的呢

这个怎么调minConnsSize和maxConnSize 可以抗住高并发

三个节点,这个查询速率不太理想

做性能测试,一般需要进行一下描述:
被测对象的软件版本、测试工具;
测试的机器配置(包含压力机和被测对象,包含cpu、内存、网络、磁盘);
测试组网;
测试语句
Jmeter配置等
定位的时候一般要附上相关的监控截图(包括压力机和被测机器)

这样比较能得以展开讨论,否则就只能比较泛。

1 个赞

测试语句:
(go from ‘userInfo10104581’,‘userInfo10082839’ over 关注 yield dst(edge) AS id |
GO FROM $-.id OVER 点赞,评论,发布 where properties($$).isBlack == 0 and properties($$).rankTime < 1699924416620 and properties($$).visibleType == 1
YIELD type(edge) as type,properties($^).userName as name,properties($^).userId as id, properties($$) as m , properties($$).rankTime as r
|
GROUP BY $-.m yield $-.m as m ,COLLECT($-.type), COLLECT($-.name),COLLECT($-.id),$-.m.rankTime as rankTime| ORDER BY $-.rankTime desc) | OFFSET 0 LIMIT 10;

使用的jemter测试的java接口,接口只是查询了图库数据并返回结果(结果没做处理),使用的是方法是官网java-springboot-demo项目的查询列表功能

服务器:一台 (2cpu-4G)
nebula:三台(上图有配置)
给出压测并发10的查询结果时间

已解决,如果是单个查询快,并发慢并且使用的代码是官网java-springboot-demo提供的,可以像我这样解决:
1、修改配置文件 NebulaConfig 源:@Bean注入的是Session,改为sessionPool,并在系统中将seesonPool.borrow生成的session要最后release
2、适当的修改properties中最小连接数和最大连接数(项目需求自己定)
3、增加自己服务器的节点/增加nebula的节点

1 个赞

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。