Thank you for always providing useful software.I will report the issue because there was a problem while using it.
We created an evaluation environment for YugabyteDB’s Read Replica with the following Ansible Playbook.
The version I’m using is yugabyte-2.25.2.0-b359 running on AlmaLinux 9.6.
---
- hosts: yuganode1.maas
gather_facts: no
tasks:
- name: Run yugabyted start on node1
ansible.builtin.shell: sudo yugabyted start --background=true --base_dir=/home/yugabyte/data --cloud_location=cloud1.red.rack1
register: result_d1
- name: Debug output from node1
ansible.builtin.debug:
msg: "{{ result_d1.stdout }}"
- hosts: yuganode2.maas
gather_facts: no
tasks:
- name: Run yugabyted start on node2
ansible.builtin.shell: sudo yugabyted start --join=yuganode1.maas --background=true --base_dir=/home/yugabyte/data --cloud_location=cloud1.red.rack2
register: result_d2
- name: Debug output from node2
ansible.builtin.debug:
msg: "{{ result_d2.stdout }}"
- hosts: yuganode3.maas
gather_facts: no
tasks:
- name: Run yugabyted start on node3
ansible.builtin.shell: sudo yugabyted start --join=yuganode1.maas --background=true --base_dir=/home/yugabyte/data --cloud_location=cloud1.red.rack3
register: result_d3
- name: Debug output from node3
ansible.builtin.debug:
msg: "{{ result_d3.stdout }}"
- hosts: yuganode4.maas
gather_facts: no
tasks:
- name: Run yugabyted start on node4
ansible.builtin.shell: sudo yugabyted start --read_replica --join=yuganode1.maas --background=true --base_dir=/home/yugabyte/data --cloud_location=cloud1.green.rack1
register: result_d4
- name: Debug output from node4
ansible.builtin.debug:
msg: "{{ result_d4.stdout }}"
- hosts: yuganode5.maas
gather_facts: no
tasks:
- name: Run yugabyted start on node5
ansible.builtin.shell: sudo yugabyted start --read_replica --join=yuganode1.maas --background=true --base_dir=/home/yugabyte/data --cloud_location=cloud1.green.rack2
register: result_d5
- name: Debug output from node5
ansible.builtin.debug:
msg: "{{ result_d5.stdout }}"
- hosts: yuganode6.maas
gather_facts: no
tasks:
- name: Run yugabyted start on node6
ansible.builtin.shell: sudo yugabyted start --read_replica --join=yuganode1.maas --background=true --base_dir=/home/yugabyte/data --cloud_location=cloud1.green.rack3
register: result_d6
- name: Debug output from node6
ansible.builtin.debug:
msg: "{{ result_d6.stdout }}"
- hosts: yuganode7.maas
gather_facts: no
tasks:
- name: Run yugabyted start on node7
ansible.builtin.shell: sudo yugabyted start --read_replica --join=yuganode1.maas --background=true --base_dir=/home/yugabyte/data --cloud_location=cloud1.blue.rack1
register: result_d7
- name: Debug output from node7
ansible.builtin.debug:
msg: "{{ result_d7.stdout }}"
- hosts: yuganode8.maas
gather_facts: no
tasks:
- name: Run yugabyted start on node8
ansible.builtin.shell: sudo yugabyted start --read_replica --join=yuganode1.maas --background=true --base_dir=/home/yugabyte/data --cloud_location=cloud1.blue.rack2
register: result_d8
- name: Debug output from node8
ansible.builtin.debug:
msg: "{{ result_d8.stdout }}"
- hosts: yuganode9.maas
gather_facts: no
tasks:
- name: Run yugabyted start on node9
ansible.builtin.shell: sudo yugabyted start --read_replica --join=yuganode1.maas --background=true --base_dir=/home/yugabyte/data --cloud_location=cloud1.blue.rack3
register: result_d9
- name: Debug output from node9
ansible.builtin.debug:
msg: "{{ result_d9.stdout }}"
- hosts: yuganode1.maas
gather_facts: no
tasks:
- name: Enable read replica flags
ansible.builtin.shell: sudo yugabyted configure_read_replica new --base_dir=/home/yugabyte/data --rf=6
register: result_d10
- name: Debug output from node1
ansible.builtin.debug:
msg: "{{ result_d10.stdout }}"
As Yugabyte Docs AI taught me, I also executed the following command, but nothing changed.
ALTER DATABASE yugabyte SET yb_read_from_followers = true;
I ran a test for oltp_read_only in sysbench.
Despite specifying the Read Replica node, when viewed in the YugabyteDB GUI, the Read is concentrated on the primary node, and the Read Replica node does not seem to be accessing.
Are you making a configuration error? Or am I misunderstanding about Read Replica?
If you have any advice, please.
IPS=yuganode1.maas
sysbench oltp_read_only \
--pgsql-host=$IPS \
--tables=10 \
--table_size=5000 \
--range_key_partitioning=false \
--serial_cache_size=1000 \
--create_secondary=true \
--pgsql-db=yugabyte \
--pgsql-user=yugabyte \
--db-driver=pgsql \
--pgsql-port=5433 \
prepare
IPS=yuganode4.maas,yuganode5.maas,yuganode6.maas,yuganode7.maas,yuganode8.maas,yuganode9.maas
sysbench oltp_read_only \
--pgsql-host=$IPS \
--tables=10 \
--table_size=5000 \
--range_key_partitioning=false \
--serial_cache_size=1000 \
--create_secondary=true \
--pgsql-db=yugabyte \
--pgsql-user=yugabyte \
--db-driver=pgsql \
--pgsql-port=5433 \
--time=300 \
--warmup-time=120 \
--num_rows_in_insert=10 \
--point_selects=10 \
--index_updates=10 \
--non_index_updates=10 \
--range_selects=false \
--thread-init-timeout=90 \
--threads=30 \
run

