Stardog on VM Linux Ubutu - memory capacity

82 views Asked by At

We are experiencing performance problems with Stardog requests (about 500 000ms minimum to get an answer). We followed the Debian Based Systems installation described in the Stardog documentation and have a stardog service installed in our Ubutu VM.

Azure machine: Standard D4s v3 (4 virtual processors, 16 Gb memory)
Total amount of memory of the VM = 16 Gio of memory

We tested several JVM environment variables

  • Xms4g -Xmx4g -XX:MaxDirectMemorySize=8g
  • Xms8g -Xmx8g -XX:MaxDirectMemorySize=8g

We also tried to upgrade the VM with a machine but without success: Azure: Standard D8s v3 - 8 virtual processors, 32 Gb memory

By doing the command: systemctl status stardog in the machine with 32Gio memory we get :

stardog.service - Stardog Knowledge Graph
     Loaded: loaded (/etc/systemd/system/stardog.service; enabled; vendor prese>
     Active: active (running) since Tue 2023-01-17 15:41:40 UTC; 1min 35s ago
       Docs: https://www.stardog.com/
    Process: 797 ExecStart=/opt/stardog/stardog-server.sh start (code=exited, s>
   Main PID: 969 (java)
      Tasks: 76 (limit: 38516)
     Memory: 1.9G
     CGroup: /system.slice/stardog.service
             └─969 java -Dstardog.home=/var/opt/stardog/ -Xmx8g -Xms8g XX:MaxD

stardog-admin server status :

Access Log Enabled       : true
Access Log Type          : text
Audit Log Enabled        : true
Audit Log Type           : text
Backup Storage Directory : .backup
CPU Load                 : 1.88 %
Connection Timeout       : 10m
Export Storage Directory : .exports
Memory Heap              : 305M (Max: 8.0G)
Memory Mode              : DEFAULT{Starrocks.block_cache=20, Starrocks.dict_block_cache=10, Native.starrocks=70, Heap.dict_value=50, Starrocks.txn_block_cache=5, Heap.dict_index=50, Starrocks.untracked_memory=20, Starrocks.memtable=40, Starrocks.buffer_pool=5, Native.query=30}
Memory Query Blocks      :   0B (Max: 5.7G)
Memory RSS               : 4.3G
Named Graph Security     : false
Platform Arch            : amd64
Platform OS              : Linux 5.15.0-1031-azure, Java 1.8.0_352
Query All Graphs         : false
Query Timeout            : 1h
Security Disabled        : false
Stardog Home             : /var/opt/stardog
Stardog Version          : 8.1.1
Strict Parsing           : true
Uptime                   : 2 hours 18 minutes 51 seconds

Knowing that there is only stardog server installed in this VM, 8G JVM Heap Memory & 20G Direct Memory for Java, is it normal to have 1.9G in memory (No process in progress) and 4.1G (when the query is in progress)

"databases.xxxx.queries.latency": {
"count": 7,
"max": 471.44218324400003,
"mean": 0.049260736982859085,
"min": 0.031328932000000004,
"p50": 0.048930366,
"p75": 0.048930366,
"p95": 0.048930366,
"p98": 0.048930366,
"p99": 0.048930366,
"p999": 0.048930366,
"stddev": 0.3961819852037625,
"m15_rate": 0.0016325388459502614,
"m1_rate": 0.0000015369791915358426,
"m5_rate": 0.0006317127755974434,
"mean_rate": 0.0032760240366080024,
"duration_units": "seconds",
"rate_units": "calls/second"
1

There are 1 answers

0
Paul Jackson On

Of all your queries the slowest took 8 minutes to complete while the others completed very quickly. Best to identify the slow query and profile it.