怎么增加mysql负载 mysql怎么添加( 二 )


最右边那个 us,sy,id,wa,st 表示所有 CPU 的使用百分比 。它们分别是 user time , system time,idle,wait I/O 和 steal time 的缩写 。将 us 和 sy 的百分比加和,可以确定 CPU 是否处于忙碌状态 。
如果是多核的机器还可以使用 mpstat 命令查看是否均衡
与 CPU 相关的命令还有 pidstat
这个命令展示了 CPU 消耗在了哪些进程上面 , 消耗过大的进程需要格外关注下 。
基本上你使用上述几个命令 就可以初步了解 CPU 出现了何种问题
有了猜测的方向之后 你就可以进一步深入去排查了
mysql集群 如何做负载均衡它们是按SMP、NUMA、MPP、集群、分布处理从最紧密到最松散的排列 。
SMP(多处理系统):这种系统是在一台计算机里有多个CPU,CPU之间的地位是平等的 , 它们共享内存空间和I/O设备 。其工作方法是由操作系统负责将任务分解成多个并发进程,然后让其在不同的CPU上运行 。
NUMA(非统一内存存取):这种系统可以让多处理计算机的CPU比SMP更高效地共享本地内存,CPU可以更快速地存取单一的内存区域,不过如需要也可以用间接方式存取其他区域的内存,这种方法是让某些CPU在给定范围的物理内存中有更大的优先使用权 。
MPP(巨型并行处理):这种系统的节点都有自己的CPU , 并有自己的专有资源 。此种结构相对独立,但各个节点一般没有完全存取I/O的能力 。
集群:集群系统是由独立的计算机组成,但有控制管理工具统一管理 。
分布处理:它是比我们要构筑的集群系统更松散的连接,一般是任务在不同的地方完成,没有可以作为整体管理的单一实体 。
以上的聚合方式有紧有疏,它们都有自己的适用范围,这里就不多说了,有兴趣可自己找些资料看,这里只是想让大家了解它所处的位置 。
实现负载均衡的方法
集群的目的是共享和高效地利用资源 , 提供大型运算,提供负载均衡分配请求压力以及出现故障时能够进行切换实现高可用性 。
限于篇幅,本文只对负载均衡的实现做些介绍(针对TurboLinux Cluster Server) 。通过对相关软件的分析 , 实现集群负载的功能是通过流量管理实现的 , 具体有这样几种实现方法:直接路由(Direct forwarding)、网络地址转换(NAT)、隧道技术(Tunneling) 。
直接路由(Direct forwarding)
当参与集群的计算机和作为控制管理的计算机在同一个网段时可以用此法 , 控制管理的计算机接收到请求包时直接送到参与集群的节点 。优点是返回给客户的流量不经过控制主机,速度快开销少 。
网络地址转换(NAT)
这种方法可能大家较熟悉,地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址,外界看起来包是来自地址转换器本身 , 当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点 。优点是节省IP地址,能对内部进行伪装;缺点是效率低,因为返回给请求方的流量经过转换器 。
隧道技术(Tunneling)
这种方式是在集群的节点不在同一个网段时可用的转发机制,是将IP包封装在其他网络流量中的方法,为了安全的考虑,应该使用隧道技术中的VPN,也可使用租用专线 。
集群所能提供的服务是基于TCP/IP的Web服务、Mail服务、News服务、DNS服务、Proxy服务器等等,下面我们将就具体的产品TurboLinux Cluster Server 来实现一个进行负载均衡集群系统,用于提供Web和FTP的服务 。四台服务器的负载均衡实例
所提供的服务:Web、FTP 。
系统的实现目的:做一个较完善负载均衡的系统,以便能用到其中的较多的功能 。

推荐阅读