标签: socket

netstat 中存在大量 TIME_WAIT 连接 (Windows Server 2008)

我在 Windows 2008 服务器上遇到一些问题,部分网络连接无法通过。例如,在服务器上的 Web 应用程序中,我们需要打开到另一台服务器的套接字连接,有时会失败并显示以下消息:

通常只允许每个套接字地址(协议/网络地址/端口)使用一次

我查找了错误,这导致我进入此页面:http://msdn.microsoft.com/en-us/library/aa560610( v=bts.20).aspx,这表明它可能是 TCP/IP 端口精疲力尽。

当我执行 netstat -n 时,我在端口 80 上获得大量 TIME_WAIT 连接。

有谁知道这可能是什么原因造成的?

windows-server-2008 tcpip netstat socket

3
推荐指数
1
解决办法
2万
查看次数

mod_proxy_wstunnel 的 Apache 负载均衡器?

我们正在开发一个要部署在 JBoss/Wildfly 上的 JavaEE 7 应用程序,该应用程序将广泛使用 Web 套接字。我们正在使用Web 套接字支持,并且我们已经成功通过在 Apache 2.4 上mod_proxy_wstunnel使用来启动并运行代理配置:mod_cluster

互联网 -> Apache HTTPD -> Wildfly

我们现在面临着对该应用程序进行集群的问题。我们将至少有 4 个节点启动并运行,以实现性能可扩展性和高可用性。我尝试创建一个<Proxy />具有 2 个成员服务器的元素来完成此任务。它看起来像这样:

<VirtualHost *:80>
   ...

   <Proxy balancer://myBalancer>
     BalancerMember ws://localhost:9080
     BalancerMember ws://localhost:19080
   </Proxy>

   <Location /ws>
     ...

     ProxyPass balancer://myBalancer/MyContextPath/myWebSocketEndpoint
     ProxyPassReverse balancer://myBalancer/MyContextPath/myWebSocketEndpoint
   </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用。当尝试打开路径上的网络套接字时,我总是在 JavaScript 中遇到连接错误http://localhost/ws。我快速浏览了一下文档mod_proxy_balancer,发现它声明支持 HTTP、FTP 和 AJP13 协议。有没有办法对 Web 套接字和 WS 协议进行负载平衡?或者这是一个完全不受支持的配置?我还可以利用哪些其他替代方案来实现这一目标?显然,使用单个 Web 套接字服务器作为我们的生产端点是不可接受的,因为它代表了单点故障。我非常感谢您提供的任何建议!

cluster jboss socket apache-2.4 wildfly8

3
推荐指数
1
解决办法
8328
查看次数

vmware 虚拟套接字与每个套接字的核心数

VMware 配置为我提供了升级虚拟机 CPU 的各种选项。

  • 虚拟套接字数
  • 每个插槽的核心数

如果我的 linux 机器需要 4 个 cpu,哪个对性能更好,4x1、2x2、1x4?

socket vmware-esxi perfomance

2
推荐指数
1
解决办法
2494
查看次数

Milter 服务需要 Transport:endpoint 而不是“/var/run/opendkim/opendkim.sock”

我根据本教程使用 milter 设置了 postfix:https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy

但后来 posptfix 报告它无法连接到该套接字上的 milter

我将 postfix 中的套接字更改main.cf为:

    smtpd_milters = /var/run/opendkim/opendkim.sock
    non_smtpd_milters = /var/run/opendkim/opendkim.sock
Run Code Online (Sandbox Code Playgroud)

并打开dkim /etc/default/opendkim

SOCKET="local:/var/run/opendkim/opendkim.sock" # default
Run Code Online (Sandbox Code Playgroud)

现在我收到以下警告,并且我的邮件未签名:

Oct 28 18:45:12 localhost postfix/cleanup[22881]: warning: Milter service needs transport:endpoint instead of "/var/run/opendkim/opendkim.sock"
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

postfix dkim socket milter

2
推荐指数
1
解决办法
5662
查看次数

127/8 地址没有传递到 IP 堆栈?

我使用原始套接字发送 IP/UDP 帧,目标 IP 地址范围为 127/8 - 例如 127.0.0.6。因此,数据包通过网络发送正常(在目标设备上使用 tcpdump 检查)。

但在目标 Linux PC 上,此类帧不会被处理,即不会发送到 UDP 套接字服务器(绑定到 0.0.0.0)。如果目标 IP 是 eth1 接口的地址 - 数据包将被正确处理。

为什么Linux不想处理具有本地主机IP的数据包?是内核Bug吗?

我需要地址 127.xxx,因为 LSP Ping 使用该地址 (RFC 4379)。

networking linux routing ip socket

2
推荐指数
1
解决办法
708
查看次数

加速 mongodump+mongorestore

我创建了一个脚本来将 MongoDB 数据库复制到我的机器上。我正在创建一个 SSH 隧道 ( ssh -L ...),然后连接到隧道端口,mongodump然后将其输出通过管道传输到mongorestore

mongodump --host=127.0.0.1:##### --db=***** --archive | mongorestore --host={mongo_dest} --drop --archive
Run Code Online (Sandbox Code Playgroud)

我想加快复制速度。--gzip在这种情况下使用没有意义 - 因为 和 使用相同的机器和mongodump内存mongorestore。数据通过 SSH 套接字未压缩。

有没有办法mongodump在 SSH 机器上运行并将其输出通过管道传输到我机器上的进程?

当然,我可以转储数据库、存档、通过 SSH 复制并恢复它。但我不想占用临时空间。

ssh ssh-tunnel socket mongodb

2
推荐指数
1
解决办法
6491
查看次数

在 nginx 中使用 UNIX 套接字

我想澄清一些关于使用 nginx 代理通过瘦服务器集群 ( http://code.macournoyer.com/thin/ )代理请求的疑问。我读过很多关于使用 UNIX 套接字而不是 TCP 连接的博客文章,我唯一的疑问是多服务器配置,其中集群分布在多台机器上,代理充当前端。如何共享 UNIX 套接字?我应该共享包含 .sock 文件的目录还是我遗漏了什么?你们如何处理这种部署?

ps hhttp://macournoyer.wordpress.com/2008/01/26/get-intimate-with-your-load-balancer-tonight/

unix nginx ruby socket thin

1
推荐指数
1
解决办法
1690
查看次数

如何使用 mknod 正确创建套接字?

我尝试为 uwsgi 和 nginx 之间的通信创建一个套接字。

困难在于我不知道我应该指定哪些主要和次要数字:

v:/tmp# mknod wsgi_pgame.sock c
mknod: missing operand after `c'
Special files require major and minor device numbers.
Run Code Online (Sandbox Code Playgroud)

而且我不知道该设备应该是块还是字符。

能否请你帮忙?

linux socket

1
推荐指数
1
解决办法
1万
查看次数

当套接字切换到 TIME_WAIT 状态时,为什么我看不到它的 inode 号?

我正在用 python 开发一个解析/proc/net/tcp信息的程序,但不幸的是,在我这样做的时候,我看到了一件奇怪的事情。

实际上,当套接字TIME_WAIT状态发生变化时,会丢失其 inode 编号,而且我不知道此套接字的所有者是谁。

我阅读了一些关于这个TIME_WAIT问题的文档,我了解到连接实际上已经完成,它保持等待只是为了保证数据传输。

有人对此有所了解吗?

kernel tcp linux-networking socket

1
推荐指数
1
解决办法
717
查看次数

在 Windows 中将文本字符串发送到套接字

我有一个服务器,它有一个打开的套接字,用于侦听特定的文本字符串以执行操作。

我们的 linux 机器通过以下方式发送这些数据:

echo "text_string" | nc -w 2 server-name port#
Run Code Online (Sandbox Code Playgroud)

这在 Windows 上是否可行(可能在 powershell 或其他内置实用程序中)?如果是这样,如何?

networking windows tcp netcat socket

1
推荐指数
1
解决办法
2万
查看次数