Hi, Please note that 3.7.2 which you appear to be using in your tests is EOL and thus no longer supported.
Later versions of ArangoDB come with prometheus integration; you should use that for system monitoring. In this blog series I explain in which figures one could be interested in (though its using collectd for the gathering instead of prometheus): https://www.arangodb.com/2017/10/performance-analysis-pyarango-usage-scenarios/ Since in the end everything boils down to disk I/O, This part of the documentation explains the way the Rocksdb storage engine block-cache behaves in that regard: https://www.arangodb.com/docs/stable/administration-reduce-memory-footprint.html#linux-system-configuration Please note that later versions of arangodb come with different capabilities to run geo queries: https://www.arangodb.com/docs/stable/arangosearch-geospatial-search.html If you run a cluster to increase disk I/O, the capability to as well read from replication followers may be interesting. Above resources will help you to identify the bottle necks of your installation. On Wednesday, May 31, 2023 at 4:58:50 AM UTC+2 yash....@redbus.com wrote: > I'm using Arango in standalone mode(single node), with machine specs of > 16gb RAM and 8 cores. No other process is running on the machine. I have > some 4000 collections each having 15000 documents stored in it. My typical > document is either a vertex (containing lat-long data), or an edge > containing document hashes for two vertexes it connects. > > I am doing some load testing where I have to see what is the read > performance arango can give. For the load testing, I have taken 4 EC2 > instances, and I'm running read-only geospatial-queries on the arango node > (queries like nearest node to given lat-long). The queries are being made > using go-clients with proper connection pooling. > > *Problem* : Even using the 4 load testing machines, the max number of > requests which shows up on arango _system-monitoring UI caps at > 4000requests/sec. Even if I reduce the number of loadTesting machines, the > number stays at 3000-4000, indicating that I'm indeed generating higher > amounts of traffic from the machines. > > [image: enter image description here] > <https://i.stack.imgur.com/TTPqk.jpg> > > My Arango instance CPU usage sticks at 100% all the time. Memory usage > caps at 13-14GB(out of 16GB). The average request served time shown at > arango is 20ms(which is acceptable given the un-optimised query). There are > no network/disk restrictions (confirmed using the AWS network/disk > monitoring). > > Questions : > > 1. Can I get the stats on internal queue in arango, where it queues > the message when all the CPUs/threads are busy. That will atleast tell me > that I'm doing the loadTesting correctly. > 2. If you see the screenshot, half of the requests are turning as > writes, whereas my queries are strictly read-only. Does arango writes > something in the background for any read query? > 3. Hypothetically, if my arango didn't take 20ms to complete and just > completed within a micro-second, will I be able to increase the number of > incoming requests? > 4. Will increasing number of CPU increase the number of incoming > requests? > > -- You received this message because you are subscribed to the Google Groups "ArangoDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to arangodb+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/arangodb/731894ee-9d61-40c8-94cb-cc6cd9046e46n%40googlegroups.com.