arcadedb icon indicating copy to clipboard operation
arcadedb copied to clipboard

Speed degradation over time (which can means 15 minutes or less if intense usage)

Open ExtReMLapin opened this issue 6 months ago • 7 comments

Hello,

On the 14th of april at the office we launched the RC1 of our application. More like a "hands on" were people could connect to the tool and use it. Long story short it's a rag app, so each query requires muliples Cypher/SQL arcadedb queries.

We ended up meeting slow downs on the application at first we were not sure on which part of the pipeline we had slow down, could be the embeddings, reranker, LLM, but some parts of the applications that were just calling a server endpoint (python flask server) that itself was just calling the rest API was very slow to answer, like a command to list databases could take more time that it should, (>0.4s).

  1. Did you already meet this kind of issue and could it just be a configuration fault ?
    • Using default config on a server-desktop machine, version 25.3.2
    • Specs are ubuntu 22, 128gb ram and powerful Ryzen 7 CPU with 12 cores (28 threads)
  2. If it's something you didn't meet before what could we do you help you reproduce the error/get some logs ?

We were kinda busy and didn't really met this issue after because we went back to dev usage with one concurrent user. But now we're having another "hands on" in Poland and we just met this issue 24h before the event.

Thanks.

ExtReMLapin avatar Jun 16 '25 07:06 ExtReMLapin

@ExtReMLapin : Can it be this #2258 ?

tolgaulas avatar Jun 16 '25 07:06 tolgaulas

Doubt it, unless after the INSERTION operations are done it still slow downs the READ operations.

ExtReMLapin avatar Jun 16 '25 08:06 ExtReMLapin

I fixed a few performance issues in the past days in the last snapshot. Is there any chance you can test the latest snapshot?

lvca avatar Jun 18 '25 20:06 lvca

I understand this kind of issue « it happend some time with some X and I cannot reproduce it » Isn’t helping at all, it was more like a distress call asking if someone met this issue.

I could write a script that would simulate multiple users to reproduce on old versions first

ExtReMLapin avatar Jun 18 '25 20:06 ExtReMLapin

Can you provide a Jstack of the JVM? Not here, just send it to support at arcadedata.com . A test to replicate the scenario would be great, of course. Moreover: how is ArcaeDB deployed? Docker, or "bare metal"? Any special configuration for the JVM, like GC? How much memory to the JVM?

robfrank avatar Jun 18 '25 20:06 robfrank

It's bare metal, default config for everything, we just added the .sh file that starts the service to system service, nothing more. I'm trying to find time to reproduce the bug

ExtReMLapin avatar Jun 19 '25 11:06 ExtReMLapin

Which JVM and version are you using? Even if 25.3.2 is compiled using java 17, you can take advantages of newest JVMs, for example G1 as garbage collector. How much ram to the database? By default, JVM should use:

  • Initial heap size of 1/64 of physical memory
  • Maximum heap size of 1/4 of physical memory So, in your case, maximun heap size is 32Gb

robfrank avatar Jun 19 '25 11:06 robfrank

Hi, we worked a lot and we ran some llong run load tests using: https://github.com/ArcadeData/arcadedb/tree/main/e2e-perf/src/test/java/com/arcadedb/test/performance

We are going to release, I hope that all these fixes on transactions, lock, index compaction could help

robfrank avatar Jul 03 '25 14:07 robfrank

No rush on my end I just started back working on the project at the office, thanks for the support !

ExtReMLapin avatar Jul 03 '25 15:07 ExtReMLapin

Ok, closing this issue for now, please comment to reopen if you have further information we can help with.

lvca avatar Sep 09 '25 05:09 lvca