我已经使用Galera安装了3个集群mariaDB,用于使用haproxy进行负载平衡的Web服务。
群集工作很好,互相同步,但是当我的网站上的访问者达到3000个以上的用户时,每个节点的CPU都是峰到高。
top - 09:19:03 up 17:36, 1 user, load average: 3.58, 3.82, 3.85 Tasks: 169 total, 1 running, 168 sleeping, 0 stopped, 0 zombie %Cpu(s): 17.8 us, 3.5 sy, 0.0 ni, 77.5 id, 0.3 wa, 0.0 hi, 0.5 si, 0.6 st KiB Mem : 12300340 total, 9661112 free, 551008 used, 2088220 buff/cache KiB Swap: 524284 total, 524284 free, 0 used. 11554364 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4906 mysql 20 0 1370720 556596 153360 S 130.3 4.5 1052:00 mysqld 7037 root 20 0 144480 8572 7160 S 0.7 0.1 0:00.08 sshd 34 root 20 0 0 0 0 S 0.3 0.0 0:04.96 ksoftirqd/5 2102 root 0 -20 0 0 0 S 0.3 0.0 0:04.95 kworker/4:1H 3651 root 20 0 246492 20868 20156 S 0.3 0.2 0:04.33 rsyslogd
所有3个节点的规格相同,即:
192GB DISK 6 CPU Cores 12 Gig RAM
我现在需要做些什么调整来更有效地处理这个查询请求? select请求正在访问我的数据库表中的数十亿行同时请求超过2000个。 每个查询结果都是唯一的。