Some confusion about paramaters in Cluster Config


(Nguyễn Thanh Phi (Backend MWG)) #1

I have 3 servers with 31GB RAM and 300GB HDD, and here is the cluster config

On SERVER1

dgraph zero --my=SERVER1:5080 --replicas 3 --idx 1 --bindall=true --wal /var/run/dgraph/zw
dgraph alpha --my=SERVER1:7080 --lru_mb=10000 --zero=SERVER1:5080 ----badger.vlog=disk  -p /var/run/dgraph/p -w /var/run/dgraph/w 

On SERVER2

dgraph zero -o 1 --my=SERVER2:5081 --replicas 3 --peer SERVER1:5080 --bindall=true --idx 2  --wal /var/run/dgraph/zw
dgraph alpha --my=SERVER2:7081 --lru_mb=10000 --zero=SERVER1:5080 -o 1 --badger.vlog=disk  -p /var/run/dgraph/p -w /var/run/dgraph/w

On SERVER3

dgraph zero -o 2 --my=SERVER3:5082 --replicas 3 --peer SERVER1:5080 --bindall=true --idx 3 --wal /var/run/dgraph/zw
dgraph alpha --my=SERVER3:7082 --lru_mb=10000 --zero=SERVER1:5080 -o 2 --badger.vlog=disk  -p /var/run/dgraph/p -w /var/run/dgraph/w 

I have some question:

  1. I set flag –replicas 3, does it mean: one alpha group contains 3 servers? and 3 server zero (one group) serves this alpha group? For that, is it the best perfomance ? Do i need more alpha servers?
  2. I set flag –peer SERVER1:5080 in zero config, does it mean: all zero server depend on SERVER1 Zero and when SERVER1 Zero failed (for any reason), all 3 zero has been failed and Dgraph Server will failed?
  3. I set flag –badger.vlog=disk , mean Badger log will save on disk , not in memory and does it effect on perfomance too much?
  4. Can you suggest for me more flag or parameters to increase perfomance for read, rebuild index, insert data… better?
    Thank too much

(Michel Conrado) #2

It means that Dgraph Zero has to replicate by 3 the groups he founds.

I think you should read this links from docs.

https://docs.dgraph.io/design-concepts/#replication-and-server-failure
Consistent Replication in => https://docs.dgraph.io/deploy/#understanding-dgraph-cluster
also this https://docs.dgraph.io/deploy/#ha-cluster-setup

Well, performance is more likely related to hardware. Try to use high IOPS storage tho.

Not exatcly. Dgraph uses RAFT consensus algorithm https://docs.dgraph.io/design-concepts/#raft - this flag are just setups. If one Zero fail other will take over.

RAM are faster than any storage. mmap are recommended if you have RAM available. But if you have NVMe you are okay.

You can use best effort queries. https://docs.dgraph.io/clients/#read-only-transactions
But in general is hardware where you can improve.


(Nguyễn Thanh Phi (Backend MWG)) #3

i have 3 alpha, so that i have only 1 group. I don’t know why you said “3 the groups”?


(Michel Conrado) #4

No, I didn’t said “3 groups”. I said “Replicate by 3”, the set (groups) he found.

About Group https://docs.dgraph.io/design-concepts/#group


(Nguyễn Thanh Phi (Backend MWG)) #5

thank for your enthusiastic support :heart_eyes: