局域网限流延迟问题

局域网限流延迟问题,第1张

首先你开DHCP,再作流量限制,你要是根据IP作的限制就没准了,DHCP情况下,电脑IP会变的
其次延迟大的原因,我分析是这样:你虽然限制了每台电脑的带宽,比如电脑A的是1MBPS,可电脑A下载时,你整个带宽还是占用到了3M,就是说运营商链路还是按3MBPS(理论上),向你这个节点传输数据,只是到了你路由器,你路由器给限到了1Mgm给电脑A,举个例子:
A电脑向某服务器请求下载,服务器同意后,会经过一系列的协议协商后,与你的路由器(准确说是你这个IP节点)建立了虚拟传输通道,假如这个服务器没做流量限制,他会以最大流量向你这个IP节点发送数据,中间路由器链路先不讨论,假如说一路到达你的运营商给你这条宽带的节点处,就给你限到3M了,然后以3M的速率传到你的路由器,你的路由器以1M传全电脑,所以说,只要有电脑在下载,运营商到你路由器的链路3M就基本满当然这中间还有很复杂的东西,比如一般来说只你有下载大文件,这样会占满3M,因为下载时用的TCP协议,他会协商每次传输的窗口大小,就是每次传输包的净数据载荷的大小,当文件太大,TCP会尽量开大窗户,以增加传输效率

通常情况下,应将值设为 1,并将所有SQL结点设为 0,以MGM服务器作为决策程序。可取下述值之一:
0:该结点永远不用作决策。
1:该结点具有高优先级。
2:该结点具有低有限级。

我使用下面的Debian服务器,它们都在同一个网段(本例如:1921680x):
sql1testcom: 1921680101 MySQL 群集节点 1
sql2testcom: 1921680102 MySQL 群集节点 2
loadb1testcom: 1921680103 负载均衡 1 / MySQL 群集管理服务器
loadb2testcom: 1921680104 负载均衡 2
另外我们需要一个虚拟IP地址:1921680105。它会安排给这个MySQL群集的负载均衡,以便于
应用程序通过统一单独的IP地址来访问群集。
尽管我们想在MySQL群集中使用两个节点,但是我们仍然需要第三个节点,MySQL群集管理服务器
,主要的一个原因是:如果其中一个MySQL群集节点坏了,而MySQL群集管理服务器没有运行,那
么两个群集节点上的数据将会不一致(“split brain”)。我们需要它来配置MySQL群集
因此我们的安装一般需要五台机器:
2个MySQL群集节点 + 1个群集管理服务器 + 2个负载均衡 = 5
因为群集管理服务器没有使用多少资源,系统将会空着什么都不做,所以我们可以把我们的第一
个负载均衡和它一起放在同一台机器上,这样可以节约我们一台服务器,所以最好我们只需要四台
机器。
二 配置MySQL群集管理服务器
首先我们要下载MySQL 5019,并安装群集管理服务器(ndb_mgmd)和群集管理客户端 (ndb_mgm - 它
可以用来监控群集的运行情况) 下面的步骤是在loadb1testcom (1921680103)上进行的:
loadb1testcom:
mkdir /usr/src/mysql-mgm
cd /usr/src/mysql-mgm
wget devmysqlcom/get/Downloads/MySQL-50/mysql-max-5019-linux-i686-\
glibc23targz/from/mirrorserviceorg/sites/ftpmysqlcom/
tar xvfz mysql-max-5019-linux-i686-glibc23targz
cd mysql-max-5019-linux-i686-glibc23
mv bin/ndb_mgm /usr/bin
mv bin/ndb_mgmd /usr/bin
chmod 755 /usr/bin/ndb_mg
cd /usr/src
rm -rf /usr/src/mysql-mgm
下一步,我们必须创建群集的配置文件,/var/lib/mysql-cluster/configini:
loadb1testcom:
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
vi configini
———-
[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
# Section for the cluster management node
[NDB_MGMD]
# IP address of the management node (this system)
HostName=1921680103
# Section for the storage nodes
[NDBD]
# IP address of the first storage node
HostName=1921680101
DataDir= /var/lib/mysql-cluster
[NDBD]
# IP address of the second storage node
HostName=1921680102
DataDir=/var/lib/mysql-cluster
# one [MYSQLD] per storage node
[MYSQLD]
[MYSQLD]

〖一〗英国名爵(MG)汽车 〖二〗军衔「少将」(Major-General) 〖三〗化学元素镁Mg 〖四〗非洲岛国马达加斯加 〖五〗巴西的一个州(Minas Gerais) 〖六〗澳大利亚的英勇勋章 〖七〗一种疾病:重症肌无力 〖八〗MG的其他意思 Milligram 质量的单位:毫克,或千克的百万分之一 Megagram 质量的单位:百万克,在标准国际单位制中,是吨的正确叫法 Machine Gun 机关q Miami Gardens 美国佛罗里达州北部一个小城市,2003年建市,人口约105000(2006年) Monster Game 互联网游戏的一种 Metal Gear 日本一款视像游戏(1987年推出) Money Game 日本一款训练股市投资技巧的视像游戏(1988年推出) Master Grade 日本塑料组合玩具「高达钢普拉」的一个版本,详细请参阅百科词条「钢普拉」 MGM Grand Air 一家美国的货运航空公司 Main Gauche 法语在钢琴中表示“左手d奏” Music Game 音乐游戏,代表作为:劲乐团,DJMAX,太鼓达人等 MG 完美国际中羽芒的简称。 MASTER GRADE 敢达模型大师级

重新安装个试试

点击下载:官方最新版mysql

MySQL的3个主要组成部分

1、负载均衡节点(mysql)


负载均衡节点(也叫SQL节点)是用来访问集群数据的。相关的软件,就是我们平时所使用的MySQL数据库软件;也就是由/etc/initd/mysql脚本来管理的那个服务。


2、存储节点(ndbd)


数据存储节点是用来保存集群数据的,其服务的启停是由脚本/etc/initd/mysql-ndb来管理的。


3、管理节点(ndbd-mgm)


管理节点是用来管理集群内其他节点的,比如提供配置信息、启动或停止节点、执行备份等。其服务的启停是由/etc/initd/mysql-ndb-mgm脚本来管理的。由于这类节点是管理者,所以管理节点必须首先启动,然后其他两类节点再启动。

mysql cluster的优缺点

一、优点:


1、99999 %的高可用性


2、快速的自动失效切换


3、灵活的分布式体系结构,没有单点故障


4、高吞吐量和低延迟


5、可扩展性强,支持在线扩容


二、缺点:


1、存在很多限制,比如:不支持外键,数据行不能超过8K(不包括BLOB和text中的数据)


2、部署、管理、配置很复杂


3、占用磁盘空间大,内存大


4、备份和恢复不方便


5、复杂的sql查询性能一般

主要结构

1、管理(MGM)节点:


这类节点的作用是管理MySQLCluster内的其他节点,如提供配 置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启 动这类节点。MGM节点是用命令“ndb_mgmd”启动的。对硬件没什么要求,差一点的机器完全能够胜任。默认端口1186。


2、数据节点:


这类节点用于保存Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点。不过没有必要设置多个副本。数据节点是用命令“ndbd”启动的。可以选择大内存,cpu也相对来讲不错的,尤其是以后ndbmtd对多核Cpu的支持。默认端口2202


3、SQL节点:


这是用来访问Cluster数据的节点。对于MySQLCluster,客户端节点是使用NDBCluster存储引擎的传统MySQL服务器。通常,SQL节点是使用命令“mysqld–ndbcluster”启动的,或将“ndbcluster”添加到“mycnf”后使用“mysqld”启动。对cpu要求较高,选择多核,高频CPU较好。

新增功能

1、更强内存性能和可扩展性:


根据SysBench标准,MySQL Cluster 74在只读工作负载上的性能比MySQL Cluster 73提高了近50%,读写 *** 作性能也提高了40%。性能改进可通过SQL或任何由MySQL Cluster支持的本地NoSQL 应用程序接口得到实现,包括Java, C++,>


2、改进的工作负载效率分析:


现在,用户可以在MySQL 集群上使用相同的记忆优化表高效运行涉及复杂分析和随机搜索的应用负载,这为OLTP工作负载提供了亚毫秒级别的超低延迟和高水平的并发性能。这些内存表可以和基于磁盘的表共同使用


3、新的跨地域冗余功能实现跨数据中心的高可用性:


最新版本的MySQL Cluster74提供冲突性事务传回功能,并能在跨地域集群之间实现灵活可用、即时更新的复制功能,使得应用可以自由向任意站点发送查询或写入命令,同时完全不影响一致性


4、高级管理功能:


MySQL Cluster为内部部署和基于云的部署提供了以下改进:


新的分布式内存使用和数据库 *** 作报告,提高管理效率;


其他性能调优选项;


更快的网络维护 *** 作,包括软件升级速度提高多达5倍

个人觉得依赖于MySQL自身的分区表好些;对于用Event每天生成一个新表, 你程序代码要写很多动态SQL, 而且你的查询区间肯定有跨多天的, 如果使用后都你得写很多left join,或者很多union;代码复制些,用查询性能相对于分区表的多分区自动查询肯定要差。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/12728580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存