服务器之间socket传输单链接和多连接测试结果

今天做了一下测试,目的是看看局域网内服务器a,通过一个连接往服务器b传输数据,和通过多个连接传输的不同。

结果发现和多少个连接没关系,一个进程一个连接就能跑满网卡,只要write的时候够快,read的时候够快就可以。1000m网卡,tcp能跑到910m

下面是golang写的程序:

server:

package main
import (
"fmt"
"net"
"os"
)
func main() {
l, err := net.Listen("tcp", os.Args[1])
if err != nil {
fmt.Println("Error listening:", err.Error())
os.Exit(1)
}
defer l.Close()
fmt.Println("Listening on :" + os.Args[1])
for {
conn, err := l.Accept()
if err != nil {
fmt.Println("Error accepting: ", err.Error())
os.Exit(1)
}
go handleRequest(conn)
}
}
func handleRequest(conn net.Conn) {
buf := make([]byte,209715200 )
for {
_, err := conn.Read(buf)
if err != nil {
fmt.Println(err)
return
}
}
}

client:

package main
import "net"
import "os"
import "log"
import "strconv"
func main() {
conn, err := net.Dial("tcp", os.Args[1])
i64, err1 := strconv.ParseInt(os.Args[2], 10, 32)
if err!=nil {
log.Println(err)
}
if err1!=nil{
log.Println(err1)
}
//200M=209715200
var array = make([]byte,i64)
for {
conn.Write(array[:])
}
}

时间: 2024-12-23 03:57:18

服务器之间socket传输单链接和多连接测试结果的相关文章

c/s用户与服务器之间的传输

####第一页 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&

scp实现mac与linux服务器之间文件传输

1.mac上传文件到linux服务器 scp 文件名 用户名@服务器ip:目标路径如:scp /Users/test/testFile test@xxx.xxx.xxx.xxx:/test/ 2.mac上传文件夹到linux服务器,与上传文件相比多加了-r scp -r 文件夹目录 用户名@服务器ip:目标路径 如:scp -r /Users/test/testFolder test@xxx.xxx.xxx.xxx:/test/ 3.linux服务器下载文件到mac scp 用户名@服务器ip:

android 发送UDP广播,搜寻服务器建立socket链接

应用场景:客户端(手机,pc)需要搜寻所在局域网内的服务器并获得服务器地址. 方法简介:客户端发送UDP广播,服务收到广播后得到客户端ip地址,然后向客户端发送一次socket链接,客户端收到socket链接,获得服务器地址. 相关知识: UPD.TCP.TCP是面向链接的,可靠的通信方式.UDP是面向非链接的通讯方式.TCP的建立比较麻烦,要经过"三次握手".而UDP的建立比较简单,发送方只管把内容发送出去,不管接收方是否收到.UDP的传输分为:单播,多播,广播.其中,多播和广播是通

Linux rsync配置用于服务器之间传输大量的数据

[教程主题]:rsync [课程录制]: 创E [主要内容] [1] rsync介绍 Rsync(Remote Synchronize) 是一个远程资料同步工具,可通过LAN/WAN快速同步多台主机,Rsync使用所为的“Rsync演算法”来使本地主机和远程主机之间达到同步,这个演算法并不是每次都整份传送,它只传送两台计算机之间所备份的资料不同的部分,因此速度相当快. Rsync的优点如下: 1.可以镜像保存整个目录树和文件系统. 2.可以很容易的做到保持原来文件的许可权.时间.软链接等. 3.

服务器之间借助Socket通信

正在完成一个并行仿真优化系统,系统流程大致上是如此的:用户在网页端提交需要进行R&S的系统候选集(以及各种参数设置)给主实体服务器,主实体服务器借助Tornado框架处理请求报文,然后借助Socket将系统候选集提交给虚拟机集群的主节点(集群一共16台Linux虚拟机),虚拟机集群在计算的同时,用户还会不断和主实体服务器交互,因此主实体服务器需要随时从主节点获取系统状态,反馈给用户. 关于socket,尽管很早上操作系统.计算机网络等等课程的时候就知道了,但一直没有真正的机会运用,现在先来了解一

Linux的rsync 配置,用于服务器之间远程传大量的数据

[教程主题]:rsync [课程录制]: 创E [主要内容] [1] rsync介绍 Rsync(Remote Synchronize) 是一个远程资料同步工具,可通过LAN/WAN快速同步多台主机,Rsync使用所为的“Rsync演算法”来使本地主机和远程主机之间达到同步,这个演算法并不是每次都整份传送,它只传送两台计算机之间所备份的资料不同的部分,因此速度相当快. Rsync的优点如下: 1.可以镜像保存整个目录树和文件系统. 2.可以很容易的做到保持原来文件的许可权.时间.软链接等. 3.

exchange系列(三)exchange邮件服务器的邮件传输管理

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:我们前面安装好了exchange2010,但是只能在公司内部发送邮件,如果要给qq邮箱.新浪邮箱,或者其他公司发送电子邮件就要经过internet.但并不是有网就可以,必须要做一系列的设置才能发送internet邮件.主要配置有以下几点: 1)发送连接器和接收连接器: 2)新建权威域: 3)购买域名并新建mx邮件交换记录,实验环境还

[Java聊天室服务器]实战之六 去除死链接

前言 学习任何一个稍有难度的技术,要对其有充分理性的分析,之后果断做出决定---->也就是人们常说的"多谋善断":本系列虽然涉及的是socket相关的知识,但学习之前,更想和广大程序员分享的是一种心境:学习是一个循序渐进的过程,心态应该随时调节,保持戒骄戒躁的状态.比如最近在看网易公开课MIT<算法导论>,老师提到,学习算法之前要计算机数学+离散数学+概率论等课程的知识,所以一直学不好算法的程序员不妨从基础入手,这都是中国式教育惹的祸啊!(此处省略一万字......)

rsync+inotify实现服务器之间文件实时同步--转

之前做了“ssh信任与scp自动传输脚本”的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时.不停的产生的,造成不知道主服务器给备份服务器传输了多少文件,磁盘空间就那么大,做备份的原因:一个是为了保持文件,另外一个是解决主服务器的磁盘饱满问题,但由于不知道备份服务器到底接收了多少文件,所以主服务器里的文件不敢删除(如果没有备份的情况下删除,问题就严重了,我这个是政府的项目,服务器里的文件都是重要的,删错了就走人~~