想在两台linux服务器之间传输文件,文件大小1G左右,同时要求可以限制带宽,请问有什么好的方法

想在两台linux服务器之间传输文件,文件大小1G左右,同时要求可以限制带宽,请问有什么好的方法,第1张

如果只是一次性的传输文件,推荐使用scp。

scp -l 带宽大小(单位Kbps) 文件名 远程用户名@远程IP

如将/home/user1/file拷贝到1921681011上的user2主目录下,限速125KB/s(即限1Mbps带宽),命令为

scp -l 1000 /home/user1/file user2@1921681011:~/

如果是做远程同步,就用rsync

rsync -auvzP --bwlimit=速度(KB/s) 本地文件 远程文件

可以使用ethtool命令进行查看,使用格式ethtool网络接口名。

以下为例,eth0为网卡名,使用ifconfig查看当前使用的网卡。

Speed表示网卡带宽,Duplex表示工作模式,Supportedlinkmodes表示支持的工作模式。

扩展资料:

ethtool命令的其它用法:

1、查询网络端口位置:ethtool-pethX

这个命令多用于管理多网口的服务器主机,由于背板的网络端口数量大,有时候不知道那个物理端口对应eth0或其他设备号,我们就可以使用这个命令来查询。

用法:ethtool-peth0

效果:设备号eth0对应的物理端口的两个指示灯会闪烁

2、修改网络端口速率:ethtool-s

这个命令多用于手工设置网络速率,一般千兆网卡支持10|100|1000三个速率,单位是Mbps。 

用法:ethtool-seth0speed1000duplexfullautonegoff

效果:将设备号eth0对应的物理端口设置为速率为1000Mbps,全双工工作模式,同时关闭自动协商。

1 使用iftop工具查出来是哪些个IP地址在请求主机的带宽资源,找出耗带宽的元凶

2 找出耗带宽的IP地址或者段,分析是out方向还是in方向,使用iptables规则来进行控制

具体的详细操作方法如下;

一但出现带宽被恶意请求,在带宽被请满的情况下基本上很难通过网络登入到服务器上进行操作跟维护,这时我们需要通过阿里云提供的“连接管理终端”服务来登入系统

一般建议在主机正常的时候直接在服务器内部安装好iftop工具,这样出现恶意请求的时候直接可以使用该工具来进行排查,下面介绍下iftop的2中安装方法

1使用yum 安装iftop工具

使用yum安装的话比较简单,只要直接执行 yum install iftop –y命令即可,如果没问题的话系统就会自动执行安装,但是有使用yum可能安装不了,这时就需要使用编译安装了

2编译安装iftop工具

(1)下载iftop工具的源码包;

http://ossaliyuncscom/aliyunecs/iftop-017targz

(2)CentOS下安装所需的依赖包

yum install flex byacc libpcap ncursesncurses-devel libpcap-devel

(3 解压缩下载的iftop文件

tarzxvf iftop-017targz

(4 进入到解压的的iftop目录中

cdiftop-017

配置并制定安装目录为/usr/local/iftop目录下

(5/configure –prefix=/usr/local/iftop

(6)编译并安装

make && make install

安装完成以后直接使用/usr/local/iftop/sbin/iftop 启动iftop程序查看流量使用情况,如果想使用iftop的方式直接开启程序,需要将iftop的程序添加到环境变量中即可

结合使用iptables服务来限制恶意请求的流量;

iftop –i eth1 查看eth1这块外网网卡的流量使用情况

通过上面这张信息很清楚的看到,121199这台服务器一直往192230123101 这个地址发送流量,而且出去产生的流量相当大,几乎把整个出网带宽都给耗尽了

查到了恶意请求的原因跟目标主机以后,我们就可以使用iptables服务来对这种恶意行为进行限制了,因为从查看到的数据看主要的流量是从out方向出去的,那就直接在OUT方向设置策略

Iptables -A OUTPUT -d 192230123101 –j REJECT

这里可能还会发现一个情况就是禁用了这个1个IP以后可能这个段的其它IP地址都有可能马上就接上继续请求,那就可以针对一个段来进行限制

iptables-A OUTPUT -d 19223000/16 -j REJECT

策略加上以后可以再使用iftop –i eth1 来查看流量的请求情况;

可以查看到流量已经恢复了正常,之前的恶意请求的地址都已经被防火墙给屏蔽了,效果比较好

另外iftop还有很多的参数可以实现比较多的功能,有时间的话可以研究研究,对排查网络流量攻击以及掌控流量使用很有帮助的

1)统计80端口连接数

2)统计httpd协议连接数

3)、统计已连接上的,状态为“established

4)、查出哪个IP地址连接最多,将其封了

1、查看apache当前并发访问数:

对比httpdconf中MaxClients的数字差距多少。

2、查看有多少个进程数:

3、可以使用如下参数查看数据

统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。

表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。

4341

netstat -an会打印系统当前网络链接状态,而grep -i "80"是用来提取与80端口有关的连接的,wc -l进行连接数统计。

最终返回的数字就是当前所有80端口的请求总数。

netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。

最终返回的数字就是当前所有80端口的已建立连接的总数。

查看Apache的并发请求数及其TCP连接状态:

TIME_WAIT 8947 等待足够的时间以确保远程TCP接收到连接中断请求的确认

FIN_WAIT1 15 等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN_WAIT2 1 从远程TCP等待连接中断请求

ESTABLISHED 55 代表一个打开的连接

SYN_RECV 21 再收到和发送一个连接请求后等待对方对连接请求的确认

CLOSING 2 没有任何连接状态

LAST_ACK 4 等待原来的发向远程TCP的连接中断请求的确认

TCP连接状态详解

LISTEN: 侦听来自远方的TCP端口的连接请求

SYN-SENT: 再发送连接请求后等待匹配的连接请求

SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认

ESTABLISHED: 代表一个打开的连接

FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2: 从远程TCP等待连接中断请求

CLOSE-WAIT: 等待从本地用户发来的连接中断请求

CLOSING: 等待远程TCP对连接中断的确认

LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认

TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED: 没有任何连接状态

LAST_ACK 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

其中的

SYN_RECV表示正在等待处理的请求数;

ESTABLISHED表示正常数据传输状态;

TIME_WAIT表示处理完毕,等待超时结束的请求数。

查看Apache并发请求数及其TCP连接状态

查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):

返回结果示例:

1388

表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整,我这组服务器中每台的峰值曾达到过2002。

查看Apache的并发请求数及其TCP连接状态:

返回结果示例:

LAST_ACK 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。

状态:描述

CLOSED:无连接是活动 的或正在进行

LISTEN:服务器在等待进入呼叫

SYN_RECV:一个连接请求已经到达,等待确认

SYN_SENT:应用已经开始,打开一个连接

ESTABLISHED:正常数据传输状态

FIN_WAIT1:应用说它已经完成

FIN_WAIT2:另一边已同意释放

ITMED_WAIT:等待所有分组死掉

CLOSING:两边同时尝试关闭

TIME_WAIT:另一边已初始化一个释放

LAST_ACK:等待所有分组死掉

vim /etc/sysctlconf

编辑文件,加入以下内容:

netipv4tcp_syncookies = 1

netipv4tcp_tw_reuse = 1

netipv4tcp_tw_recycle = 1

netipv4tcp_fin_timeout = 30

然后执行 /sbin/sysctl -p 让参数生效。

netipv4tcp_syncookies = 1 表示开启SYN cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;

netipv4tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

netipv4tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

netipv4tcp_fin_timeout 修改系统默认的 TIMEOUT 时间

客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口

状态为TIME_WAIT

是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢?

有没有什么情况使主动关闭的socket直接进入CLOSED状态呢?

主动关闭的一方在发送最后一个 ack 后

就会进入 TIME_WAIT 状态 停留2MSL(max segment lifetime)时间

这个是TCP/IP必不可少的,也就是“解决”不了的。

也就是TCP/IP设计者本来是这么设计的

主要有两个原因

1。防止上一次连接中的包,迷路后重新出现,影响新连接

(经过2MSL,上一次连接中所有的重复包都会消失)

2。可靠的关闭TCP连接

在主动关闭方发送的最后一个 ack(fin) ,有可能丢失,这时被动方会重新发

fin, 如果这时主动方处于 CLOSED 状态 ,就会响应 rst 而不是 ack。所以

主动方要处于 TIME_WAIT 状态,而不能是 CLOSED 。

TIME_WAIT 并不会占用很大资源的,除非受到攻击。

还有,如果一方 send 或 recv 超时,就会直接进入 CLOSED 状态

如何合理设置apache httpd的最大连接数?

手头有一个网站在线人数增多,访问时很慢。初步认为是服务器资源不足了,但经反复测试,一旦连接上,不断点击同一个页面上不同的链接,都能迅速打开,这种现象就是说明apache最大连接数已经满了,新的访客只能排队等待有空闲的链接,而如果一旦连接上,在keeyalive 的存活时间内(KeepAliveTimeout,默认5秒)都不用重新打开连接,因此解决的方法就是加大apache的最大连接数。

1在哪里设置?

apache 224,使用默认配置(FreeBSD 默认不加载自定义MPM配置),默认最大连接数是250

在/usr/local/etc/apache22/httpdconf中加载MPM配置(去掉前面的注释):

Include etc/apache22/extra/httpd-mpmconf

可见的MPM配置在/usr/local/etc/apache22/extra/httpd-mpmconf,但里面根据httpd的工作模式分了很多块,哪一部才是当前httpd的工作模式呢?可通过执行 apachectl -l 来查看:

Compiled in modules:

corec

preforkc

http_corec

mod_soc

看到prefork 字眼,因此可见当前httpd应该是工作在prefork模式,prefork模式的默认配置是:

<IfModule mpm_prefork_module>

StartServers 5

MinSpareServers 5

MaxSpareServers 10

MaxClients 150

MaxRequestsPerChild 0

</IfModule>

2要加到多少?

连接数理论上当然是支持越大越好,但要在服务器的能力范围内,这跟服务器的CPU、内存、带宽等都有关系。

查看当前的连接数可以用:

ps aux | grep httpd | wc -l

或:

pgrep httpd|wc -l

计算httpd占用内存的平均数:

ps aux|grep -v grep|awk '/httpd/{sum+=$6;n++};END{print sum/n}'

由于基本都是静态页面,CPU消耗很低,每进程占用内存也不算多,大约200K。

服务器内存有2G,除去常规启动的服务大约需要500M(保守估计),还剩15G可用,那么理论上可以支持15 1024 10241024/200000 = 805306368

约8K个进程,支持2W人同时访问应该是没有问题的(能保证其中8K的人访问很快,其他的可能需要等待1、2秒才能连上,而一旦连上就会很流畅)

控制最大连接数的MaxClients ,因此可以尝试配置为:

<IfModule mpm_prefork_module>

StartServers 5

MinSpareServers 5

MaxSpareServers 10

ServerLimit 5500

MaxClients 5000

MaxRequestsPerChild 100

</IfModule>

注意,MaxClients默认最大为250,若要超过这个值就要显式设置ServerLimit,且ServerLimit要放在MaxClients之前,值要不小于MaxClients,不然重启httpd时会有提示。

重启httpd后,通过反复执行pgrep httpd|wc -l 来观察连接数,可以看到连接数在达到MaxClients的设值后不再增加,但此时访问网站也很流畅,那就不用贪心再设置更高的值了,不然以后如果网站访问突增不小心就会耗光服务器内存,可根据以后访问压力趋势及内存的占用变化再逐渐调整,直到找到一个最优的设置值。

(MaxRequestsPerChild不能设置为0,可能会因内存泄露导致服务器崩溃)

更佳最大值计算的公式:

apache_max_process_with_good_perfermance < (total_hardware_memory / apache_memory_per_process ) 2

apache_max_process = apache_max_process_with_good_perfermance 15

附:

实时检测HTTPD连接数:

watch -n 1 -d "pgrep httpd|wc -l"

如果用传统VDI架构的云桌面,后端服务器的配置至少要23GHZ 2C4T40=80C160T,内存的话4G40=160G,需要160G内存。这样的配置对于服务器的投入成本也是比较大的。特别是VDI作为传统的云桌面架构对于后端服务器硬件性能的高要求,以及对于网络带宽环境的高度依赖,给客户带来了较高的IT成本支出,同时用户体验也较差。考虑到你这边现有这40台瘦客户机终端的性能配置还是挺高的,为什么不采用前端计算模式的云桌面架构把这40台瘦客户机的性能利用起来呢,这样还能省去后端服务器的投入成本。目前有一种叫VOI的云桌面技术架构模式,VOI的出现在一定程度上解决了目前VDI所不能解决的问题,例如以目前高校校园中的电子教室为例, 要承载一间一百台终端教室的服务器至少需要近十万元,而同样的场景下采用VOI方案则服务器的成本却不及它的五分之一。 在电子教室以及一些从事图形图像处理、工程图纸设计及渲染的机构中,VDI更加暴露出在视频重定向方面的不足,在播放高清视频、图形处理过程中出现花屏、白屏假死等情况,相反VOI在这个方面表现得更加理想与本机运行毫无差异。

你这个配置吧,跑这么多网站,还是交友型的网站,估计是不行的,很容易就卡顿了。

交友型网站的特点是同时在线用户很多,这就很考验CPU和内存的。1核1g内存根本不够用。根据你的业务需求,建议采用 2核 4G内存 5M 带宽配置,这样才能很流畅的跑起来三四个新站,两个交友网站。用户在使用的时候,也不会觉得卡顿。

至于服务器方面,请参考阿里云2核 4G内存5M 带宽云服务器的提议,因为你问题中的配置确实不够用,所以才建议你考虑下这个配置的云服务器。要想用户用的流畅就得用这个配置了。

最后说一下数据盘,阿里云会默认送40G云盘使用,估计你这几个业务差不多够用了,如果预计不够用的话,再买40G云盘就肯定够用了。

那要看你是什么内容的站点,如果是纯文字站点,并且是生成静态文件,用个便宜服务器就行,如果是动态页面,配置要高点,因为动态页面占用资源高。如果是有大量的站点,那中端配置的服务器,带宽也要大点,占用带宽大。其实决定用什么服务器,除了知道访问量之外,还要了解网站运营的是什么内容。

对于日均独立IP3000~4000的站点而言,其实流量并不算太高,但对于这类网站的服务器选型,还是需要看网站是什么类型的网站。

日均IP几千的普通展示型网站服务器配置要求

如果你的站点是普通的展示型网站,比如说:企业网站、资讯类网站、没有太多业务性的网站,这类网站对于服务器要求极低。建议配置如下:

服务器:CPU1核、内存512M、带宽1M、系统盘30G、数据盘看你的网站程序及资源占用量而定即可;

CDN:展示型网站因为没有什么业务交互,所以99%的请求走CDN加速即可缓解源站服务器压力(即使源站服务器是最低配的也撑得起来)。

日均IP几千的应用型网站服务器配置要求

如果是日均独立IP几千的应用类型网站,那对服务器还是有一定要求的,这类网站性能瓶颈容易发生在数据库读写及内存占用上,所以对于这类网站的最基础配置建议如下:

服务器:CPU2核、内存2G、带宽1M以上,系统请务必选用Linux(因为WindowsServer系统本身就较Linux更占内存和CPU);而且建议选用云服务器,因为云服务器较物理服务器而言弹性升级更容易。

CDN:在CDN方面要求程序做好动静分离,这样可以最大程度避免带宽的浪费。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

如果有一天几千上万人的访问需求,可以买2核4G5M带宽的服务器。

再大也可以选4核8G10M带宽的服务器。

选购服务器,第一点是根据自己的访问量,第二点是根据自己的预算。

系统镜像选centos7464位

看您这边网站目前是否域名备案号国内的服务器国家监管,域名要想使用80端口才可以使用国内的服务器,如果域名暂时未备案,网站可以选用香港或者美国的免备案服务器4000左右访问量是不算高的而且选服务器不是看日访问量。应该主要取决于实时并发最大峰值。选择合适的带宽就可以了,然后按照技术要求习惯操作的系统去采购就可以了看下能否帮到您

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 想在两台linux服务器之间传输文件,文件大小1G左右,同时要求可以限制带宽,请问有什么好的方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情