你的负载箱读取出来了吗

如何查看linux服务器硬盘IO读写负载_百度知道
如何查看linux服务器硬盘IO读写负载
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:14
获赞数:13
擅长:暂未定制
打开终端用top命令查看。输入:top&#查看swapiostat&-x&1&10#查看%util&%idle#如果&iostat&没有要&yum&install&sysstat#如果&%util&接近&100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。idle小于70%&IO压力就较大了,一般读取速度有较多的wait.#如果你想对硬盘做一个IO负荷的压力测试可以用如下命令time&dd&if=/dev/zero&bs=1M&count=2048&of=direct_2G#此命令为在当前目录下新建一个2G的文件欢迎追问
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。<div id="click_content_aid_
<div id="favrite_content_aid_
SF3700主控为PCI-E优化:混合负载下性能秒三星、浦科特
SF3700主控为PCI-E优化:混合负载下性能秒三星、浦科特
10:40&&|&&作者:
&&|&&关键字:,,,
虽然市面上已经有各种PCI-E接口的SSD硬盘,不过在SF3700主控的SSD前面,他们的性能简直不值一提,80/20读写混合负载下SF3700主控读取速度可达1.3GB/s,是其他产品的6倍多。
在PCM全球闪存会议上,Marvell、SMI慧荣等公司都发布了新一代,另一大腕SandForce虽然没有发布新品,不过他们的SF3700主控其实去年底就发布过了,现在还在持续优化中,。虽然市面上已经有各种PCI-E接口的SSD硬盘,不过在SF3700主控的SSD前面,他们的性能简直不值一提,80/20读写混合负载下SF3700主控读取速度可达1.3GB/s,是其他产品的6倍多。SF3700主控在混合负载下也能跑出1.3GB/s的速度原生PCI-E接口的SSD速度很多都能跑到1GB/s以上,1.3GB/s的读写速度看起来并不夸张,但这不是纯度的连续读取或者连续写入速度,而是80%读取、20%写入的混合负载测试,SF3700主控针对PCI-E双向通道做了优化,设计目标是1440MB/s,而目前的测试中已经可以实现1300MB/s的速度。从来看,其他使用原生PCI-E接口的SSD,比如三星XP941(PCI-E
2.0 x4接口)、浦科特M6e(PCI-E 2.0
x2接口)在这个80/20混合负载下读取速度分别只有231MB/s、194MB/s,基本上只有SF3700主控硬盘的1/6,差距非常大,这使得SF3700主控非常适合企业级存储市场。
本文读者还喜欢
(请登录后发表评论,若无帐号可,也可使用登录,请留意。)
读书是为了心平气和地跟某些人讲道理,健身是为了让某些人心平气和地跟你讲道理,可惜我读书少,脾气也不小。
扫一扫右边的二维码
关注超能网微信账号
苏宁易购818购物节PC DIY买点啥?
多发评论赚威望,数款奖品等兑换
建兴T10 PLUS 256GB 特卖~
618购物节导购DAX是一种完全托管并且高度可靠的内存缓存,即使每秒种的请求量达到数百万,却依然可以将Amazon DynamoDB的响应时间从数毫秒缩短到数微秒!...
大咖专栏主要刊登亚马逊AWS诸位大咖亲自撰写的Blog,内容涉猎广泛,话题讨论前沿,且与实战紧密相连。我们非常欢迎小伙伴们在评论区留言,与大咖互动交流!
今天为大家撰文的大咖,是我们的AWS解决方案架构师——毛郸榕老师。
AWS解决方案架构师
毛郸榕,AWS解决方案架构师,负责基于AWS的云计算方案架构的咨询和设计,同时致力于AWS云服务在国内的应用和推广,毕业于北京航空航天大学云计算专业,硕士,毕业后直接加入亚马逊AWS中国。在大规模后台架构、企业混合IT和自动化运维等方面有着丰富的实践经验。目前在集中精力学习新一代无服务器架构的开发与设计。背景介绍Amazon DynamoDB 是一项全托管的NoSQL 数据库服务,适合所有需要一致性且延迟低于 10 毫秒的任意规模的应用程序,支持文档和键值存储模型。使用DynamoDB,可创建数据库表来存储和检索任意量级的数据,并提供任意级别的请求流量。
现在,DynamoDB还提供了Auto-Scaling的功能,即可以通过你预先设置的阈值自动扩展和缩减表的吞吐量,做到完全弹性自动伸缩的目的,真正达到让你的数据库按实际吞吐量进行付费。更高要求这么高的并发量却依然可以保持服务器的平均延迟在个位数毫秒,这让DynamoDB受到了非常多用户的青睐。然而随着大数据时代的数据暴增,很多客户的场景比较特殊,他们对数据库的响应时间越来越苛刻,甚至需要达到微秒的级别!这无疑给DynamoDB数据库又带来了一个难题。甚至也有客户会提到,能不能在DynamoDB前面放一层类似Redis的Cache服务呢?如果这样做的话,需要自己搭建缓存数据库,并且解决DynamoDB和Redis之间的数据同步问题;同时还要重写代码实现业务逻辑,比如如果数据在缓存中,则立即返回,如果数据没有在缓存中,则必须从数据库里面读取,将数据写入到缓存中,然后再返回。AWS的解决方案
Amazon DynamoDB Accelerator当用户还带着这样的担心时,现在,Amazon DynamoDB已经整合了这一特性,推出了一个新的功能,即Amazon DynamoDB Accelerator,简称DAX。
DAX是一种完全托管并且高度可靠的内存缓存,即使每秒种的请求量达到数百万,却依然可以将Amazon DynamoDB的响应时间从数毫秒缩短到数微秒!其实在很多场景都可以用到DAX,比如实时竞拍、秒杀、电商、社交游戏等场景,DAX可以提供快速的内存读取性能;再比如在产品促销日,读取访问量会明显上升,但是销售日结束访问量就会回归正常,诸如此类读取密集型的工作负载但同时又对成本敏感的应用都可以使用DAX服务。像类似于Expedia、Twilio、Genesys、eyeview等客户都已经率先用上了DAX服务。
目前,DAX还是处于预览版,您可以下面的链接进行申请。接下来,让我们创建一个DAX集群,赶紧体验一下微秒级别的响应测试吧!DAX预览版申请链接:https://pages.awscloud.com/amazon-dynamodb-accelerator-preview-form.htmlDAX集群的原理
上图中可以看到,DAX起了一组缓存的节点(目前最多可以是10个节点),并将这些节点置放在VPC内部,应用程序部署在EC2上,这样EC2和DAX Cluster通过内网直接访问。关于DAX的内存缓存,主要是DynamoDB的读和写操作:
(1)最终一致性的读取操作,支持GetItem、BatchGetItem、Query、Scan接口,如果读取在DAX缓存中命中,将直接从DAX集群里读取;如果是第一次读取没有命中,那就从DyanmoDB里面读取。
(2)写入操作支持BatchWriteItem、UpdateItem、DeleteItem、PutItem接口,写入的时候数据先写入到DynamoDB表,确认写入成功之后,然后再写到DAX集群(item cache),这个操作只有在DynamoDB表和DAX集群都写入了数据的时候才算成功。如果由于一些原因这个操作失败了,那么这个item将不会缓存到DAX里面,并且会抛出一个exception。这种方式可以让缓存和数据库的数据保持一致性和完整性,不会出现过期数据在缓存里面。
(3)如果DAX有多个节点时,会选取一个主节点(primary node),多个从节点(read replica node),数据最终会分布到所有节点上,但对于客户端来说,只需要关心唯一的DAX连接地址,已经内置了负载均衡和路由策略,并且自动执行故障检测、故障恢复、软件修补等管理任务。
接下去,我们将模拟这一过程,进行实际测试。启动DAX集群首先启动一个DAX集群,指定集群的节点数(目前节点最多为10个),我们建议您在生产环节中启用两个以上的节点,并将这些节点置放在不同的可用区中,从而提高高可用。设置好相应的IAM Role和Policy。Policy可以配置“只读”权限,或者“读和写”权限。更多关于权限配置可以参考:http://s3.amazonaws.com/dynamodb-preview-dax/DAX.access-control.html接下去设置DAX集群的子网组,DAX集群的节点会部署在这些子网里面。选定VPC和相对应的子网,并设置安全组。安全组入站需要打开DAX所用到的8111端口。
接下去配置DAX的参数组,指定Cache的Query TTL和Item TTL值。TTL的时间小到可以是&秒”,大到可以到“天”。也可以自定义选定维护窗口,如果需要的话可以再加一个SNS通知,这样只要集群有维护就会立刻以短信,或者邮件等形式通知到您。到这里,DAX集群就创建成功了。DAX集群会有一个唯一的endpoint地址,例如,这里是
dax-cluster-demo.bnsilv.clustercfg.dax.usw2.cache.amazonaws.com:8111
另外可以看到在这个例子中DAX集群启动了3个节点。DAX集群具体的3个节点在接下来的内容里,我们会介绍:
3. 启动EC2 ,作为应用程序的server,同时作为DAX的client
4. 安装Java应用程序
5. 直接读取DynamoDB表的响应测试
6. 加上DAX后进行测试
7. 如何将DAX整合到现有的DyanmoDB开发中?
8.如何增加DAX的集群节点数?
9.小结及更多关于DAX的介绍
请感兴趣的小伙伴点击“阅读原文”
或扫描/长按识别下方的二维码
阅读完整版文章
微信扫一扫关注公众号
要回复文章请先或
微信扫一扫关注公众号此架构主要是由keepalived实现双机高可用,维护了一个外网VIP,一个内网VIP。正常情况时,外网VIP和内网VIP都绑定在server1服务器,web请求发送到server1的,nginx对于静态资源请求就直接在本机检索并返回,对于的动态请求,则负载均衡到server1和server2。对于SQL请求,会将此类请求发送到Atlas中间件,Atlas接收到请求之后,把涉及写操作的请求发送到内网VIP,读请求操作发送到server2,这样就实现了读写分离。
当主服务器server1宕机时,keepalived检测到后,立即把外网VIP和内网VIP绑定到server2,并把server2的mysql切换成主库。此时由于外网VIP已经转移到了server2,web请求将发送给server2的nginx。nginx检测到server1宕机,不再把请求转发到server1的-fpm。之后的sql请求照常发送给本地的atlas,atlas把写操作发送给内网VIP,读操作发送给server2
mysql,由于内网VIP已经绑定到server2了,server2的mysql同时接受写操作和读操作。
当主服务器server1恢复后,keepalived不抢占server2的VIP,继续正常服务。我们可以把server1的mysql切换成主,也可以切换成从。
要实现此架构,需要三个条件:
服务器可以设置内网,并且设置的内网IP互通;服务器可以随意绑定IDC分配给我们使用的外网IP,即外网IP没有绑定MAC地址;MySQL服务器支持GTID,即MySQL-5.6.5以上版本。
eth0: 10.96.153.110(对外IP)
eth1: 192.168.3.100(对内IP)
eth0: 10.96.153.114(对外IP)
eth1: 192.168.3.101(对内IP)
系统都是-6。
对外VIP: 10.96.153.239
对内VIP: 192.168.3.150
/etc/hosts:
192.168.3.100 server1
192.168.3.101 server2
Nginx PHP MySQL安装
这几个软件的安装推荐使用EZHTTP来完成。
Server1配置
upstream php-server {
server 192.168.3.101:9000;
server 127.0.0.1:9000;
keepalive 100;
location ~ \.php$ {
fastcgi_pass
fastcgi_index
fastcgi_param
SCRIPT_FILENAME
$document_root$fastcgi_script_
Server2配置
upstream php-server {
server 192.168.3.100:9000;
server 127.0.0.1:9000;
keepalive 100;
location ~ \.php$ {
fastcgi_pass
fastcgi_index
fastcgi_param
SCRIPT_FILENAME
$document_root$fastcgi_script_
这两个配置主要的作用是设置php请求的负载均衡。
mysql util安装
我们需要安装mysql util里的主从配置工具来实现主从切换。
http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-utilities-1.5.3..gz
tar xzf mysql-utilities-1.5.3.tar.gz
cd mysql-utilities-1.5.3
python setup.py build
python setup.py install
mysql my.cnf配置
protocol=tcp
# BINARY LOGGING #
log-bin = /usr/local/mysql/data/mysql-bin
expire-logs-days = 14
-binlog = 1
binlog-format=ROW
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency =true
master--repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
server-id=1
report-=server1
report-port=3306
protocol=tcp
# BINARY LOGGING #
log-bin = /usr/local/mysql/data/mysql-bin
expire-logs-days = 14
sync-binlog = 1
binlog-format=ROW
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency =true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
server-id=2
report-host=server2
report-port=3306
这两个配置主要是设置了binlog和启用gtid-mode,并且需要设置不同的server-id和report-host。
开放root帐号远程权限:
我们需要在两台mysql服务器设置root帐号远程访问权限。
mysql& grant all on *.* to 'root'@'192.168.3.%' identified by 'Xp29at5F37'
mysql& grant all on *.* to 'root'@'server1' identified by 'Xp29at5F37'
mysql& grant all on *.* to 'root'@'server2' identified by 'Xp29at5F37'
设置mysql主从
在任意一台执行如下命令:
mysqlreplicate --master=root:Xp29at5F37@server1:3306 --slave=root:Xp29at5F37@server2:3306 --rpl-user=rpl:o67DhtaW
# master on server1: ... connected.
# slave on server2: ... connected.
# Checking for binary logging on master...
# Setting up replication...
# ...done.
显示主从关系
mysqlrplshow --master=root:Xp29at5F37@server1 --discover-slaves-=root:Xp29at5F37
# master on server1: ... connected.
# Finding slaves for master: server1:3306
# Replication Topology Graph
server1:3306 (MASTER)
+--- server2:3306 - (SLAVE)
检查主从状态
mysqlrplcheck --master=root:Xp29at5F37@server1 --slave=root:Xp29at5F37@server2
# master on server1: ... connected.
# slave on server2: ... connected.
Description Status
---------------------------------------------------------------------------
Checking for binary logging on master [pass]
Are there binlog exceptions? [pass]
Replication user exists? [pass]
Checking server_id values [pass]
Checking server_uuid values [pass]
Is slave connected to master? [pass]
Check master information
Checking InnoDB compatibility [pass]
Checking storage engines compatibility [pass]
Checking lower_case_table_names settings [pass]
Checking slave delay (seconds behind master) [pass]
# ...done.
在server2建立主从切换脚本
/data/sh/mysqlfailover.sh
#!/bin/bash
mysqlrpladmin --slave=root:Xp29at5F37@server2:3306 failover
+x /data/sh/mysqlfailover.sh
Keepalived配置
keepalived安装(两台都装)
-y install keepalived
keepalived on
keepalived配置(server1)
vi /etc/keepalived/keepalived.conf
vrrp_sync_group VG_1 {
inside_network
outside_network
vrrp_instance inside_network {
state BACKUP
interface eth1
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 3489
virtual_ipaddress {
192.168.3.150/24
vrrp_instance outside_network {
state BACKUP
interface eth0
virtual_router_id 50
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 3489
virtual_ipaddress {
10.96.153.239/24
keepalived配置(server2)
vrrp_sync_group VG_1 {
inside_network
outside_network
vrrp_instance inside_network {
state BACKUP
interface eth1
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 3489
virtual_ipaddress {
192.168.3.150
notify_master /data/sh/mysqlfailover.sh
vrrp_instance outside_network {
state BACKUP
interface eth0
virtual_router_id 50
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 3489
virtual_ipaddress {
10.96.153.239/24
此keepalived配置需要注意的是:
两台server的state都设置为backup,server1增加nopreempt配置,并且server1 priority比server2高,这样用来实现当server1从宕机恢复时,不抢占VIP;server2设置notify_master /data/sh/mysqlfailover.sh,意味着server2接管server1后,执行这个脚本,以把server2的mysql提升为主。
到这里下载最新版本,https://github.com/Qihoo360/Atlas/releases
wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.
rpm -i Atlas-2.2.1.el6.x86_64.rpm
cd /usr/local/mysql-proxy/conf
test.cnf my.cnf
调整如下参数,
proxy-backend-addresses = 192.168.3.150:3306
proxy--only-backend-addresses = 192.168.3.101:3306
pwds = root:qtyU1btXOo074Itvx0UR9Q==
event-threads = 8
proxy-backend-addresse设置为内网VIPproxy-read-only-backend-addresses设置为server2的IProot:qtyU1btXOo074Itvx0UR9Q==设置数据库的用户和密码,密码是通过/usr/local/mysql-proxy/bin/encrypt Xp29at5F37生成。更详细参数解释请查看,Atlas配置详解。
/usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/my.cnf
之后程序里配置mysql就配置127.0.0.1:1234就好。
server1主宕机测试
测试keepalived是否工作正常,我们来模拟server1宕机。在server1上执行关机命令。此时我们登录server2,执行ip
addr命令,输出如下:
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:81:9d:42 brd ff:ff:ff:ff:ff:ff
inet 10.96.153.114/24 brd 10.96.153.255 scope global eth0
inet 10.96.153.239/24 scope global secondary eth0
inet6 fe80::20c:29ff:fe81:9d42/64 scope link
valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:81:9d:4c brd ff:ff:ff:ff:ff:ff
inet 192.168.3.101/24 brd 192.168.3.255 scope global eth1
inet 192.168.3.150/32 scope global eth1
inet6 fe80::20c:29ff:fe81:9d4c/64 scope link
valid_lft forever preferred_lft forever
我们看到对外VIP 10.96.153.239和对内IP 192.168.3.150已经转移到server2了,证明keepalived运行正常。
测试是否自动切换了主从,登录server2的mysql服务器,执行命令,如下:
mysql& show slave statusG
(0.00 sec)
我们发现从状态已经为空,证明已经切换为主了。
测试server1是否抢占VIP,为什么要测试这个呢?如果server1恢复之后抢占了VIP,而我们的Atlas里后端设置的是VIP,这样server1启动之后,sql的写操作就会向server1的mysql发送,而server1的mysql数据是旧于server2的,所以这样会造成数据不一致,这个是非常重要的测试。
我们先来启动server1,之后执行ip addr,输出如下:
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f1:4f:4e brd ff:ff:ff:ff:ff:ff
inet 10.96.153.110/24 brd 10.96.153.255 scope global eth0
inet6 fe80::20c:29ff:fef1:4f4e/64 scope link
valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:f1:4f:58 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.100/24 brd 192.168.3.255 scope global eth1
inet6 fe80::20c:29ff:fef1:4f58/64 scope link
valid_lft forever preferred_lft forever
我们看到,server1并没有抢占VIP,测试正常。不过另人郁闷的是,在虚拟机的环境并没有测试成功,不知道为什么。
如何恢复server1
设置server1 mysql为从,server1从宕机中恢复之后,mysql的数据已经旧于server2的数据了,这时我们先设置server1 mysql为从。
mysqlreplicate --master=root:Xp29at5F37@server2:3306 --slave=root:Xp29at5F37@server1:3306 --rpl-user=rpl:o67DhtaW
# master on server2: ... connected.
# slave on server1: ... connected.
# Checking for binary logging on master...
# Setting up replication...
# ...done.
看到提示是设置成功了。
获取server1 mysql数据数据同步情况,server1 mysql刚从宕机恢复,有可能数据远远落后于server2 mysql,所以我们先查看它们之间的数据同步情况。登录server1 mysql,执行如下sql:
mysql& show slave statusG
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: server2
Master_User: rpl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 2894
Relay_Log_File: mysql-relay-bin.000002
Relay_Log_Pos: 408
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running:
Slave_SQL_Running: Yes
我们记下Read_Master_Log_Pos的值为2894,登录server2 mysql,执行如下sql:
mysql& show master statusG
*************************** 1. row ***************************
File: mysql-bin.000004
Position: 2894
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set: 4-11e4-b4f0-000c29f14f4e:1-7,
f5bbfc15-904a-11e4-b519-000c-6
1 row in set (0.00 sec)
记下Position的值,并与Read_Master_Log_Pos比较,如果这两个值非常相近或相等,说明数据已经同步得差不多了,可以进行切换操作;如果差得很远,需要等待它们同步完成。
屏蔽mysql写操作
我们需要在切换时先禁止sql的写操作,如果不这样做,就会在切换时造成数据不一致的问题。屏蔽写操作我们在Atlas上操作。在server2执行登录Atlas命令:
mysql -h127.0.0.1 -P2345 -uuser -ppwd
mysql& SELECT * FROM
+-------------+--------------------+-------+------+
| backend_ndx | address | state |
+-------------+--------------------+-------+------+
| 1 | 192.168.3.150:3306 | up | rw |
| 2 | 192.168.3.101:3306 | up | ro |
+-------------+--------------------+-------+------+
2 rows in set (0.00 sec)
执行SELECT * FROM后我们看到backend id为1,所以我们执行SET OFFLINE 1;设置此后端下线。
mysql& SET OFFLINE 1;
+-------------+--------------------+---------+------+
| backend_ndx | address | state | type |
+-------------+--------------------+---------+------+
| 1 | 192.168.3.150:3306 | offline | rw |
+-------------+--------------------+---------+------+
1 row in set (0.00 sec)
mysql& SELECT * FROM
+-------------+--------------------+---------+------+
| backend_ndx | address | state | type |
+-------------+--------------------+---------+------+
| 1 | 192.168.3.150:3306 | offline | rw |
| 2 | 192.168.3.101:3306 | up | ro |
+-------------+--------------------+---------+------+
2 rows in set (0.00 sec)
这时客户端就无法写入数据了。
恢复server1 mysql为主
mysqlrpladmin --master=root:Xp29at5F37@server2:3306 --new-master=root:Xp29at5F37@server1:3306 --demote-master --discover-slaves-login=root:Xp29at5F37 switchover
# Discovering slaves for master
server2:3306
# Discovering slave at server1:3306
# Found slave: server1:3306
# Checking privileges.
# Performing switchover from master at server2:3306 to slave at server1:3306.
# Checking candidate slave prerequisites.
# Checking slaves configuration to master.
# Waiting for slaves to catch up to old master.
# Stopping slaves.
# Performing STOP on all slaves.
# Demoting old master to be a slave to the new master.
# Switching slaves to new master.
# Starting all slaves.
# Performing START on all slaves.
# Checking slaves for errors.
# Switchover complete.
再次检查是否恢复成功.
mysqlrplcheck --master=root:Xp29at5F37@server1 --slave=root:Xp29at5F37@server2
# master on server1: ... connected.
# slave on server2: ... connected.
Test Description Status
---------------------------------------------------------------------------
Checking for binary logging on master [pass]
Are there binlog exceptions? [pass]
Replication user exists? [pass]
Checking server_id values [pass]
Checking server_uuid values [pass]
Is slave connected to master? [pass]
Check master information file [pass]
Checking InnoDB compatibility [pass]
Checking storage engines compatibility [pass]
Checking lower_case_table_names settings [pass]
Checking slave delay (seconds behind master) [pass]
# ...done.
设置VIP回到server1,在server2机器上执行:
/etc/.d/keepalived restart
然后在两台机器分别执行ip addr查看ip绑定状态。
设置server2 atlas后端上线
server2上执行mysql -h127.0.0.1 -P2345 -uuser -ppwd登录,然后执行SET ONLINE 1;设置上线(这里1是后端的id,可以使用SELECT * FROM查看)
mysql& SET ONLINE 1;
+-------------+--------------------+---------+------+
| backend_ndx | address | state | type |
+-------------+--------------------+---------+------+
| 1 | 192.168.3.150:3306 | unknown | rw |
+-------------+--------------------+---------+------+
1 row in set (0.00 sec)
mysql& SELECT * FROM
+-------------+--------------------+-------+------+
| backend_ndx | address | state | type |
+-------------+--------------------+-------+------+
| 1 | 192.168.3.150:3306 | up | rw |
| 2 | 192.168.3.101:3306 | up | ro |
+-------------+--------------------+-------+------+
2 rows in set (0.00 sec)
到这里server1就恢复为主了。
apache+mysql+php实现最大负载的方法
1 问的太笼统,生成静态html页面,squid反向代理,apache,mysql的负载均衡。
2 可以采取数据缓存的方法,我们通常在统计数据的时候,需要在原始数据的基...
MySql读写分离,及数据库高可用负载均衡的实现
今天主要讲一下关于mysql读写分离rw-splitting的实现方式,以及简单的mysql高可用(HA)和负载均衡(LB)。我会提到读写分离的原理,实现方式和一些注意点。然后就是介绍一下官方提供的m...
mysql主从复制+主备切换
使用mycat进行主从切换,当一台mysql服务器宕机之后,mycat会切换至另一台进行连接,两台mysql互为主从,这样可以使两台mysql服务器互相备份,使其数据一致。
mysql主从切换步骤
1& 正常切换
1)从服务器检查SHOW PROCESSLIST语句的输出,直到你看到Has read all relaylogwaiting for the slave I/O thread ...
MySQL数据库优化(八)——MySQL负载均衡 & 读写分离
在庞大的数据量应用系统中,除了使用复制策略实现数据库高可用之外,还可结合业务功能,将数据也以模块划分,存入不同的db服务器中。
在高并发负载均衡(一)——企业架构分析和DNS中提高对应网站...
mycat实现简单的mysql集群负载均衡
什么是mycat呢?简单理解为一个mysql中间件,它支持分流、基于心跳的自动故障切换,支持读写分离,支持MySQL主从,基于Nio管理线程的高并发…
详见官网:http://www.mycat.i...
nginx 做mysql负载均衡
首先安装nginx
1. 编辑文档: /etc/yum.repos.d/nginx.repo[nginx]
name=nginx repo
baseurl=http://nginx.org/pack...
ThinkPHP主从读写分离+MySQL底层配置半自动复制同步
多站点为了保证服务器的效率,数据库读写分离是有必要的。百度了很多,全都是说不到重点COPY来COPY去的。
不啰嗦,上代码。MySQL 5.7+版本:TP 配置主从数据库return [
Mysql 主从原理
对于一主多从,设计到负载均衡,而一主一从则不需要。待续...
MySQL主从同步(binlog方式)与主从切换
1 主从同步配置
1、部署环境:
机器A:192.168.2.63(主)
机器B:192.168.2.94(从)
MySQL:5.6.*以上
2、主(mast...
没有更多推荐了,}

我要回帖

更多关于 负载率 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信