I’m still seeing performance issues that I’m not sure how to diagnose. The symptom is:
This suggests that maybe it’s an issue with browser cache or the server not invalidating a cache or something or just an implementation mistake on my part.
I will start adding more diagnostic messages in my server code to see what’s happening when but this really feels like I just have some setting not set correctly.
I take it as a given that BaseX, properly configured and using queries that are not poorly implemented should perform acceptably as a concurrent web server with not too much load (10s or 100s of users, not
1000s of users).
Cheers,
E.
_____________________________________________
Eliot Kimber
Sr Staff Content Engineer
O: 512 554 9368
M: 512 554 9368
LinkedIn | Twitter | YouTube | Facebook
From:
Eliot Kimber <eliot.kimber@servicenow.com>
Date: Sunday, February 6, 2022 at 12:31 AM
To: basex-talk@mailman.uni-konstanz.de <basex-talk@mailman.uni-konstanz.de>
Subject: Re: [basex-talk] Managing/Debugging Server Load and Performance
Liam,
Here’s what free -h tells me:
/data/basex/git/dita-build-tools/src/main$ free -h
total used free shared buff/cache available
Mem: 15G 1.4G 8.3G 529M 6.0G 13G
Swap: 0B 0B 0B
I read that as there being no swap. But note that this is a virtual machine (from AWS as far as I know)—I don’t know if that makes a difference.
If I understand what cpuinfo is telling me, I have 4 CPUs, each with 4 cores, so should be able to service 16 threads, yes?
I have DTD parsing turned off (which is the default)—if I didn’t do that it would take hours to load our content into the database, so that *shouldn’t* be a problem (I hope).
I did find prof:runtime() in the docs and verified that it has 4GB of RAM available.
_____________________________________________
Eliot Kimber
Sr Staff Content Engineer
O: 512 554 9368
M: 512 554 9368
LinkedIn | Twitter | YouTube | Facebook
From:
Liam R. E. Quin <liam@fromoldbooks.org>
Date: Sunday, February 6, 2022 at 12:08 AM
To: Eliot Kimber <eliot.kimber@servicenow.com>, basex-talk@mailman.uni-konstanz.de <basex-talk@mailman.uni-konstanz.de>
Subject: Re: [basex-talk] Managing/Debugging Server Load and Performance
[External Email]
On Sun, 2022-02-06 at 03:34 +0000, Eliot Kimber wrote:
>
> * Using the JRE provided with Oxygen, allocated with 4GB (we are
> also using this server to run Oxygen via scripting and it needs 8GB
> to handle our insanely huge DITA maps)
Make sure you have e.g. 64 gigabytes or more of swap configures;
free -h
will tell you this
> * Set parallel to 4 (to match the number of cores, but just
> guessing that this is a useful setting based on the docs)
check /proc/cpuinfo (e.g, less /proc/cpuinfo) and you'll prolly find it
can run 8 threads
>
> I’m seeing some apparent occasional slowness on pages that should not
> be slow (don’t reflect long-running queries or huge data volumes)
make sure there are no xml catalogs or DTDs to be fetched externally -
or, if there are catalogs, e.g. used with fn:transform(), that those
catalog files do NOT start with a doctype that causes a network fetch
of a dtd...
> but I’m not really sure how to diagnose it or even verify that I’ve
> succeeded in giving BaseX all the resources it needs.
maybe in an ssh/terminal window, keep "top" running while you fetch a
page, and see if the system gets really busy. Note also the centos
system is probably using a hard drive, not an SSD, so file access may
be slower - make sure you have indexes!
hope this helps at least a little,
--
Liam Quin,
https://urldefense.com/v3/__https://www.delightfulcomputing.com/__;!!N4vogdjhuJM!U0hEyXTeoTf2B18jzQmUco2XDS97VUqRet5HS3OjWp_cIEbY9gMS9UJKn8aBFs61KYmFdA$
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Barefoot Web-slave, antique illustrations:
https://urldefense.com/v3/__http://www.fromoldbooks.org__;!!N4vogdjhuJM!U0hEyXTeoTf2B18jzQmUco2XDS97VUqRet5HS3OjWp_cIEbY9gMS9UJKn8aBFs5ZXch2EA$