Re: exist multiple cores
Eduard Drenth <[email protected]> Fri, 17 Oct 2025 06:37:37 +0000
| Newsgroups | gmane.text.xml.exist |
|---|---|
| Message-ID | <VE1P189MB0957AEF9BC2E95C9FC97B943F1F6A@VE1P189MB0957.EURP189.PROD.OUTLOOK.COM> |
--===============3011186499361842210==
Content-Language: en-US
Content-Type: multipart/alternative;
boundary="_000_VE1P189MB0957AEF9BC2E95C9FC97B943F1F6AVE1P189MB0957EURP_"
--_000_VE1P189MB0957AEF9BC2E95C9FC97B943F1F6AVE1P189MB0957EURP_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Dear all,
Luckily I found settings that boost performance for our situation. I share =
them so they can be of use.
(My question about one large versus many small remains, many small will I t=
hink make collection() a lot faster.)
The most important is caching collection (in our case only changing with a =
new docker build):
declare variable $teidictjson:data :=3D
if ($teidictjson:collcache) then
if (fn:not(fn:empty(cache:get("teidictjson","coll")))) then
cache:get("teidictjson","coll")
else (let $r :=3D cache:put("teidictjson","coll",collection($config=
:data-root))
return cache:get("teidictjson","coll")
)
else collection($config:data-root);
docker-compose.yml, I suspect less memory would do as well:
deploy:
replicas: 1
resources:
limits:
memory: "8GB"
restart_policy:
condition: any
environment:
# NOTE This overrides the maintained JAVA_TOOL_OPTIONS in the Dockerf=
ile from the exist-db community
# This is the only way to override settings, for example ARG CACHE_ME=
M=3D1024 in your Dockerfile won't work, neither will setting cache in conf.=
xml
- JAVA_TOOL_OPTIONS=3D-Dfile.encoding=3DUTF8 -Dsun.jnu.encoding=3DUTF=
-8 -Djava.awt.headless=3Dtrue -Dorg.exist.db-connection.cacheSize=3D2048M -=
Dorg.exist.db-connection.pool.max=3D20 -Dlog4j.configurationFile=3D/exist/e=
tc/log4j2.xml -Dexist.home=3D/exist -Dexist.configurationFile=3D/exist/etc/=
conf.xml -Djetty.home=3D/exist -Dexist.jetty.config=3D/exist/etc/jetty/stan=
dard.enabled-jetty-configs -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+Ex=
itOnOutOfMemoryError -XX:MaxRAMPercentage=3D75.0
Regards, Eduard
________________________________
From: Eduard Drenth <[email protected]>
Sent: Thursday, October 16, 2025 5:33 PM
To: Lars Windauer <[email protected]>; Exist-open <Exist-ope=
[email protected]>
Subject: Re: [Exist-open] exist multiple cores
Have been trying to upload a 386M document into exist 6.4.0 in order to tes=
t query performance compared to querying 70000 separate documents.
Question before I continue trying different settings/jvm's/etc.:
*
Is querying one large document expected to be significantly faster compared=
to querying many separate small documents?
Regards, Eduard
________________________________
From: Eduard Drenth <[email protected]>
Sent: Thursday, October 16, 2025 6:46 AM
To: Lars Windauer <[email protected]>; Exist-open <Exist-ope=
[email protected]>
Subject: Re: [Exist-open] exist multiple cores
Thanks, I understand it's hard to tell yes.
Could try this https://github.com/duncdrum/distroless-exist/blob/main/Docke=
rfile for java 21 with exist 6.4. But until now I rely on what is in docker=
hub instead of building images myself.
Could queries be faster when I merge =B1 70.000 seperate TEI documents into=
one teiCorpus document?
Regards, Eduard
________________________________
From: Lars Windauer <[email protected]>
Sent: Tuesday, October 14, 2025 12:28 PM
To: Eduard Drenth <[email protected]>; Exist-open <Exist-open@lists=
.sourceforge.net>
Subject: Re: [Exist-open] exist multiple cores
It=92s really weird why the app should be slow on a system with more ghz. T=
here must be some kind of other limitation in the new environment.
With regard to Java 21: Where did you read that eXist-db 6.x would be bound=
to max Java 17? I know at least two people running eXist-db 6 with Java 21=
. I=92m aware of some discussion about some edge cases that could cause tro=
uble with Java 21 but afaik it=92s working fine at least for those two peop=
le. Did you ever try it yourself? Nevertheless, if the performance was fine=
in the old environment but is not in the new one, the Java version will ve=
ry likely not be the problem because you did not run Java 21 in the old sys=
tem.
Sorry I can=92t help more but without actually looking in the new and old e=
nvironment and running a few tests it=92s kind of impossible to say, what t=
he issue could be.
Fingers crossed you can sort it out!
Best,
Lars
> On 8. Oct 2025, at 17:34, Eduard Drenth <[email protected]> wrote=
:
>
> Thanks for the info, good to know about one xquery being bound to one cor=
e.
>
> In the mean time we turned hyperthreading off, that helped, but not enoug=
h yet.
>
> It is weird, the new cpu is 3.8ghz compared to the old 2.4ghz.
>
> The queries seem cpu bound as top shows cpu percentage above 200%.
>
> Increasing memory does not help, IO does not seem to be a problem.
>
> It is doable for now, but I am happy that new hardware is being ordered, =
hope that helps.
>
> Unfortunately I cannot benefit from the many performance improvements in =
java either, because exist 6 is bound to java 17 max.
>
> Regards,
> Eduard Drenth, Software Architekt
>
> [email protected]
>
> Doelestrjitte 8
> 8911 DX Ljouwert
> (058) 213 14 14
> +31 62 094 34 28
> https://www.fryske-akademy.nl/
> https://frysker.nl/
> https://frisian.eu/<Outlook-d4b4dmlh.svg>
> gpg: https://keyserver.ubuntu.com/pks/lookup?search=3Deduard+drenth&finge=
rprint=3Don&op=3Dindex
> From: Lars Windauer <[email protected]>
> Sent: Tuesday, October 7, 2025 10:26 PM
> To: Exist-open <[email protected]>
> Subject: Re: [Exist-open] exist multiple cores
> Dear Eduard,
>
> eXist-db can benefit from multiple cores without the need to configure an=
ything. Having said this, please be aware that a single XQuery (dbbroker) c=
an always run on only one core! So a single XQuery can=92t utilise 20 cores=
but on a 20 core system you can have 20 parallel queries that each use one=
core.
>
> Can you provide us with information about the old and new environment? Gi=
gahertz of your CPUs, how much RAM does the system have and how much of thi=
s is assigned to eXist-db. What about the hard drives, is eXist-db running =
from a SSD with the same filesystem as in the old environment?
>
> Best,
>
> Lars
>
>
> > On 6. Oct 2025, at 16:42, Eduard Drenth <[email protected]> wro=
te:
> >
> > Dear all,
> >
> > We are in the process of migrating exist from our own hardware to a pro=
vider.
> >
> > Performance drops significantly, the main cause is that exist seems to =
be using one core only.
> >
> > Can exist benefit from multiple cores? And if yes, how is that configur=
ed?
> >
> > Regards,
> >
> > Eduard Drenth, Software Architekt
> >
> > [email protected]
> > _______________________________________________
> > Exist-open mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/exist-open
>
>
>
>
> _______________________________________________
> Exist-open mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/exist-open
--_000_VE1P189MB0957AEF9BC2E95C9FC97B943F1F6AVE1P189MB0957EURP_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
Dear all,</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
Luckily I found settings that boost performance for our situation. I share =
them so they can be of use.</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
(My question about one large versus many small remains, many small will I t=
hink make collection() a lot faster.)</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
The most important is caching collection (in our case only changing with a =
new docker build):</div>
<div class=3D"elementToProof">
<pre class=3D"elementToProof"><div class=3D"elementToProof" style=3D"white-=
space: pre; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Ca=
libri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><span =
style=3D"font-family: "Courier New", monospace;">declare variable=
$teidictjson:data :=3D<br> if ($teidictjson:collcache) then<=
br> if (fn:not(fn:empty(cache:get("teidictj=
son","coll")))) then<br> =
cache:get("teidictjson","coll")<br> =
else (let $r :=3D cache:put("teidictjson","col=
l",collection($config:data-root))<br> &nbs=
p; return cache:get("teidictjson","coll&=
quot;)<br> )<br> &nb=
sp; else collection($config:data-root);</span></div></pre>
</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
docker-compose.yml, I suspect less memory would do as well:</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"><br>
</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp;deploy:</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; replicas: 1</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; resources:</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; limits:</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; memory: "8GB"</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; restart_policy:</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; condition: any</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; environment:</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; # NOTE This overrides the maintained JAVA_TOOL_OPTIONS in the Do=
ckerfile from the exist-db community</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; # This is the only way to override settings, for example ARG CAC=
HE_MEM=3D1024 in your Dockerfile won't work, neither will setting cache in =
conf.xml</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<span style=3D"font-family: "Courier New", monospace;"> &nb=
sp; - JAVA_TOOL_OPTIONS=3D-Dfile.encoding=3DUTF8 -Dsun.jnu.encoding=
=3DUTF-8 -Djava.awt.headless=3Dtrue -Dorg.exist.db-connection.cacheSize=3D2=
048M -Dorg.exist.db-connection.pool.max=3D20 -Dlog4j.configurationFile=3D/e=
xist/etc/log4j2.xml
-Dexist.home=3D/exist -Dexist.configurationFile=3D/exist/etc/conf.xml -Dje=
tty.home=3D/exist -Dexist.jetty.config=3D/exist/etc/jetty/standard.enabled-=
jetty-configs -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ExitOnOutOfMemo=
ryError -XX:MaxRAMPercentage=3D75.0</span></div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
Regards, Eduard</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<br>
</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" clas=
s=3D"elementToProof">
<br>
</div>
<div id=3D"appendonsend"></div>
<hr style=3D"display:inline-block;width:98%" tabindex=3D"-1">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" st=
yle=3D"font-size:11pt" color=3D"#000000"><b>From:</b> Eduard Drenth <edr=
[email protected]><br>
<b>Sent:</b> Thursday, October 16, 2025 5:33 PM<br>
<b>To:</b> Lars Windauer <[email protected]>; Exist-op=
en <[email protected]><br>
<b>Subject:</b> Re: [Exist-open] exist multiple cores</font>
<div> </div>
</div>
<style type=3D"text/css" style=3D"display:none">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
<div dir=3D"ltr">
<div class=3D"x_elementToProof" style=3D"font-family:Aptos,Aptos_EmbeddedFo=
nt,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:=
rgb(0,0,0)">
Have been trying to upload a 386M document into exist 6.4.0 in order to tes=
t query performance compared to querying 70000 separate documents. </d=
iv>
<div class=3D"x_elementToProof" style=3D"font-family:Aptos,Aptos_EmbeddedFo=
nt,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:=
rgb(0,0,0)">
<br>
</div>
<div class=3D"x_elementToProof" style=3D"font-family:Aptos,Aptos_EmbeddedFo=
nt,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:=
rgb(0,0,0)">
Question before I continue trying different settings/jvm's/etc.:</div>
<div class=3D"x_elementToProof" style=3D"font-family:Aptos,Aptos_EmbeddedFo=
nt,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:=
rgb(0,0,0)">
<br>
</div>
<ul data-editing-info=3D"{"applyListStyleFromLevel":false,"u=
norderedStyleType":2}" style=3D"margin-top:0px; margin-bottom:0px">
<li style=3D"font-family:Aptos,Aptos_EmbeddedFont,Aptos_MSFontService,Calib=
ri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0); list-style-type:=
"- "">
<div role=3D"presentation" class=3D"x_elementToProof">Is querying one large=
document expected to be significantly faster compared to querying many sep=
arate small documents?</div>
</li></ul>
<div class=3D"x_elementToProof" style=3D"font-family:Aptos,Aptos_EmbeddedFo=
nt,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:=
rgb(0,0,0)">
<br>
</div>
<div class=3D"x_elementToProof" style=3D"font-family:Aptos,Aptos_EmbeddedFo=
nt,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; color:=
rgb(0,0,0)">
Regards, Eduard</div>
<div id=3D"x_appendonsend"></div>
<hr tabindex=3D"-1" style=3D"display:inline-block; width:98%">
<div id=3D"x_divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" =
color=3D"#000000" style=3D"font-size:11pt"><b>From:</b> Eduard Drenth <e=
[email protected]><br>
<b>Sent:</b> Thursday, October 16, 2025 6:46 AM<br>
<b>To:</b> Lars Windauer <[email protected]>; Exist-op=
en <[email protected]><br>
<b>Subject:</b> Re: [Exist-open] exist multiple cores</font>
<div> </div>
</div>
<style type=3D"text/css" style=3D"display:none">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
<div dir=3D"ltr">
<div class=3D"x_x_elementToProof" style=3D"font-family:Aptos,Aptos_Embedded=
Font,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; colo=
r:rgb(0,0,0)">
Thanks, I understand it's hard to tell yes.</div>
<div class=3D"x_x_elementToProof" style=3D"font-family:Aptos,Aptos_Embedded=
Font,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; colo=
r:rgb(0,0,0)">
<br>
</div>
<div class=3D"x_x_elementToProof" style=3D"font-family:Aptos,Aptos_Embedded=
Font,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; colo=
r:rgb(0,0,0)">
Could try this <a href=3D"https://github.com/duncdrum/distroless-exist/blob=
/main/Dockerfile">
https://github.com/duncdrum/distroless-exist/blob/main/Dockerfile</a> =
for java 21 with exist 6.4. But until now I rely on what is in docker hub i=
nstead of building images myself.</div>
<div class=3D"x_x_elementToProof" style=3D"font-family:Aptos,Aptos_Embedded=
Font,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; colo=
r:rgb(0,0,0)">
<br>
</div>
<div class=3D"x_x_elementToProof" style=3D"font-family:Aptos,Aptos_Embedded=
Font,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; colo=
r:rgb(0,0,0)">
Could queries be faster when I merge =B1 70.000 seperate TEI documents into=
one teiCorpus document?</div>
<div class=3D"x_x_elementToProof" style=3D"font-family:Aptos,Aptos_Embedded=
Font,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; colo=
r:rgb(0,0,0)">
<br>
</div>
<div class=3D"x_x_elementToProof" style=3D"font-family:Aptos,Aptos_Embedded=
Font,Aptos_MSFontService,Calibri,Helvetica,sans-serif; font-size:12pt; colo=
r:rgb(0,0,0)">
Regards, Eduard</div>
<div id=3D"x_x_appendonsend"></div>
<hr tabindex=3D"-1" style=3D"display:inline-block; width:98%">
<div id=3D"x_x_divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif=
" color=3D"#000000" style=3D"font-size:11pt"><b>From:</b> Lars Windauer <=
;[email protected]><br>
<b>Sent:</b> Tuesday, October 14, 2025 12:28 PM<br>
<b>To:</b> Eduard Drenth <[email protected]>; Exist-open <=
[email protected]><br>
<b>Subject:</b> Re: [Exist-open] exist multiple cores</font>
<div> </div>
</div>
<div class=3D"x_x_BodyFragment"><font size=3D"2"><span style=3D"font-size:1=
1pt">
<div class=3D"x_x_PlainText">It=92s really weird why the app should be slow=
on a system with more ghz. There must be some kind of other limitation in =
the new environment.<br>
<br>
With regard to Java 21: Where did you read that eXist-db 6.x would be bound=
to max Java 17? I know at least two people running eXist-db 6 with Java 21=
. I=92m aware of some discussion about some edge cases that could cause tro=
uble with Java 21 but afaik it=92s working
fine at least for those two people. Did you ever try it yourself? Neverthe=
less, if the performance was fine in the old environment but is not in the =
new one, the Java version will very likely not be the problem because you d=
id not run Java 21 in the old system.
<br>
<br>
Sorry I can=92t help more but without actually looking in the new and old e=
nvironment and running a few tests it=92s kind of impossible to say, what t=
he issue could be.
<br>
<br>
Fingers crossed you can sort it out! <br>
<br>
Best, <br>
<br>
Lars<br>
<br>
<br>
<br>
> On 8. Oct 2025, at 17:34, Eduard Drenth <[email protected]&=
gt; wrote:<br>
> <br>
> Thanks for the info, good to know about one xquery being bound to one =
core.<br>
> <br>
> In the mean time we turned hyperthreading off, that helped, but not en=
ough yet.<br>
> <br>
> It is weird, the new cpu is 3.8ghz compared to the old 2.4ghz.<br>
> <br>
> The queries seem cpu bound as top shows cpu percentage above 200%.<br>
> <br>
> Increasing memory does not help, IO does not seem to be a problem.<br>
> <br>
> It is doable for now, but I am happy that new hardware is being ordere=
d, hope that helps.<br>
> <br>
> Unfortunately I cannot benefit from the many performance improvements =
in java either, because exist 6 is bound to java 17 max.<br>
> <br>
> Regards,<br>
> Eduard Drenth, Software Architekt<br>
> <br>
> [email protected]<br>
> <br>
> Doelestrjitte 8<br>
> 8911 DX Ljouwert<br>
> (058) 213 14 14<br>
> +31 62 094 34 28<br>
> <a href=3D"https://www.fryske-akademy.nl/">https://www.fryske-akademy.=
nl/</a><br>
> <a href=3D"https://frysker.nl/">https://frysker.nl/</a><br>
> https://frisian.eu/<Outlook-d4b4dmlh.svg><br>
> gpg: <a href=3D"https://keyserver.ubuntu.com/pks/lookup?search=3Deduar=
d+drenth&fingerprint=3Don&op=3Dindex">
https://keyserver.ubuntu.com/pks/lookup?search=3Deduard+drenth&fingerpr=
int=3Don&op=3Dindex</a><br>
> From: Lars Windauer <[email protected]><br>
> Sent: Tuesday, October 7, 2025 10:26 PM<br>
> To: Exist-open <[email protected]><br>
> Subject: Re: [Exist-open] exist multiple cores<br>
> Dear Eduard, <br>
> <br>
> eXist-db can benefit from multiple cores without the need to configure=
anything. Having said this, please be aware that a single XQuery (dbbroker=
) can always run on only one core! So a single XQuery can=92t utilise 20 co=
res but on a 20 core system you can have
20 parallel queries that each use one core. <br>
> <br>
> Can you provide us with information about the old and new environment?=
Gigahertz of your CPUs, how much RAM does the system have and how much of =
this is assigned to eXist-db. What about the hard drives, is eXist-db runni=
ng from a SSD with the same filesystem
as in the old environment? <br>
> <br>
> Best, <br>
> <br>
> Lars<br>
> <br>
> <br>
> > On 6. Oct 2025, at 16:42, Eduard Drenth <edrenth@fryske-akadem=
y.nl> wrote:<br>
> > <br>
> > Dear all,<br>
> > <br>
> > We are in the process of migrating exist from our own hardware to=
a provider.<br>
> > <br>
> > Performance drops significantly, the main cause is that exist see=
ms to be using one core only.<br>
> > <br>
> > Can exist benefit from multiple cores? And if yes, how is that co=
nfigured?<br>
> > <br>
> > Regards,<br>
> > <br>
> > Eduard Drenth, Software Architekt<br>
> > <br>
> > [email protected]<br>
> > _______________________________________________<br>
> > Exist-open mailing list<br>
> > [email protected]<br>
> > <a href=3D"https://lists.sourceforge.net/lists/listinfo/exist-ope=
n">https://lists.sourceforge.net/lists/listinfo/exist-open</a><br>
> <br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> Exist-open mailing list<br>
> [email protected]<br>
> <a href=3D"https://lists.sourceforge.net/lists/listinfo/exist-open">ht=
tps://lists.sourceforge.net/lists/listinfo/exist-open</a><br>
<br>
<br>
</div>
</span></font></div>
</div>
</div>
</body>
</html>
--_000_VE1P189MB0957AEF9BC2E95C9FC97B943F1F6AVE1P189MB0957EURP_--
--===============3011186499361842210==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============3011186499361842210==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Exist-open mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/exist-open
--===============3011186499361842210==--