标签: socket

您如何确定Linux计算机具有哪种类型的CPU插槽?

我可以使用什么 Linux 命令/程序来告诉我 Linux 桌面具有哪种类型的 CPU 插槽?

我在 Windows 上使用 CPUZ 或 SIW,我可以在 Linux 上使用“cat /proc/cpuinfo”来获取拥有者的其余信息,但它没有告诉我 CPU 是哪个插槽。

谢谢。

linux central-processing-unit socket

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

nginx 无法连接到 php-fpm 套接字

我设置了一个类似于这里教程的系统。

我在 nginx 连接到 php5-fpm 套接字时遇到了问题,但据我所知,套接字上的权限是正确的......你能帮我一把吗?

2011/04/14 15:31:24 [crit] 13147#0: *1 connect() to unix:/var/run/php5-fpm.socket 在连接到上游时失败(2:没有这样的文件或目录),客户端:74.129.***.***,服务器:app.mydomain.com,请求:“GET /phpinfo.php HTTP/1.1”,上游:“fastcgi://unix:/var/run/php5-fpm .socket:", 主机: "app.mydomain.com"

root@app0:/# ls -l /var/run/php5-fpm.socket
srw-rw-rw-1 www-data www-data 0 Apr 14 15:51 /var/run/php5-fpm.socket

root@app0:/# ps 辅助 | grep fpm
根 13315 0.0 1.9 168276 4948 ? Ss 15:51 0:00 /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/main.conf
www-data 13316 0.0 2.1 168672 5492 ? S 15:51 0:00 /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/main.conf

root@app0:/# ps 辅助 | grep nginx
根 13341 0.0 0.4 33200 1036 ? ss …

nginx php-fpm socket

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

Postgres 应用程序尝试使用不正确的套接字文件

我有一个本地 postgres 服务器正在运行(在 ubuntu linux 上)。它通过套接字文件侦听:

$ ls -la /var/run/postgresql/
total 8
drwxrwsrwx  2 postgres postgres  100 2011-04-15 19:06 .
drwxr-xr-x 26 root     root     1100 2011-04-15 19:12 ..
-rw-------  1 postgres postgres    5 2011-04-15 19:06 8.4-main.pid
srwxrwxrwx  1 postgres postgres    0 2011-04-15 19:06 .s.PGSQL.5433
-rw-------  1 postgres postgres   34 2011-04-15 19:06 .s.PGSQL.5433.lock
Run Code Online (Sandbox Code Playgroud)

我可以在命令行上正常连接到服务器:

$ psql -d gis -U rory
psql (8.4.7)
Type "help" for help.

gis=# \q
$ psql -d gis
psql (8.4.7)
Type "help" for help.

 gis=# \q
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 …

postgresql socket

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

具有容错和持久消息存储的 Websockets 服务器

我开始尝试使用 websockets。

有谁知道提供 websocket“通道”的持久存储的 websockets 服务器(开源或付费)?我发现的所有示例都没有解决持久性问题——如果 websockets 服务器出现故障,所有“通道”数据都会丢失。

诸如 Pusher 之类的服务并没有真正讨论它们是否解决了持久性问题(我还没有收到技术支持的回复)。

很高兴自己动手,但不想重新发明轮子。

编辑:

我不是在寻找 websockets 101 信息。这是容易获得和理解的。

我正在寻找支持 websockets 并具有持久存储 websocket 数据的服务器(开源或付费),以便在服务器发生故障的情况下,新服务器可以接管原来停止的服务器。

两个主要目的: 1. 支持 websockets 网络工作组设想的故障转移场景http://tools.ietf.org/html/draft-ibc-websocket-dns-srv-02#section-5.1(最重要的是让错过的消息当客户端连接到故障转移服务器时发送) 2. 支持新订阅者必须接收所有过去发布的消息的场景。

当然,这可以在应用程序层处理……但这不是我想要的。

编辑

因此,经过一些研究,以下安装的选项似乎是最强大的:

看起来“真实”的托管服务

  • Pusher(很棒的 AP​​I 但还没有历史功能)
  • PubNub(有历史)

如果 websockets 不可用,上述所有服务都可以优雅地回退到其他通信方法。

我找不到任何提供“开箱即用”集群、故障转移和持久消息存储来回放历史记录的开源。有一些项目可以作为很好的起点,但并不是我正在寻找的。

failover socket durability

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

在 Unix 域套接字而不是网络(假设有一台服务器)上运行 memcached 有什么缺点吗?

我正在建立一个 Django 网站以使用 memcached 来缓存其页面。

(每个页面的内容根本不会经常改变,所以我希望大部分站点大部分时间都由 memcached 提供服务,从而能够合理地处理大量流量。)

网站和 memcached 都将在一台虚拟服务器上运行,在 Debian Squeeze 上运行。

鉴于这种设置,我想我可以将 memcached 设置为通过 Unix 域套接字(请参阅http://code.google.com/p/memcached/wiki/NewConfiguringServer#Unix_Sockets)而不是通过网络接口进行侦听。虽然我的虚拟服务器有相当广泛的防火墙,因为我只需要一个本地用户(即 Django 站点)可以访问 memcached,我想我最好还是限制它。

当 memcached 和它的客户端都在同一台服务器上时,让 memcached 监听 Unix 域套接字有什么缺点吗?例如,Unix 域套接字可能比侦听 127.0.0.1 慢吗?

(为这样一个新手问题道歉——你可能已经知道,我以前没有使用过 memcached,也没有用过 Unix/Linux。)

memcached socket

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

Windows 上的 TCP Windows 大小与套接字缓冲区大小

我是 Windows 网络的新手。当人们谈论 Windows 平台上的 TCP 调优时,他们总是提到 TCP 窗口大小。我想知道 Windows 是否使用“套接字缓冲区大小”的概念?

在 Windows XP 上,TCP 窗口大小是固定的。我们可以使用 TCPWindowSize 注册表值来设置它。套接字缓冲区大小如何?我们如何在 Windows 上设置套接字缓冲区大小?我们可以将其设置为与 TCP 窗口大小不同的值吗?

networking windows tcpip socket tcp-window

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

如何调试 Node + Socket.io CPU 问题

我们正在使用 Express 3 运行 Node Socket.io 服务器。服务器使用Forever进行监控。服务运行良好,但 CPU 一整天都在增长,直到达到 90% 以上,然后突然回落到约 20%,如下图所示。我相信下降是由 Forever 重新启动应用程序引起的。

CPU 行为

我想知道的是;

  • 可能导致 Node.js 应用程序出现这种行为的典型因素是什么?
  • 有哪些工具/方法可用于调试节点应用程序中的内存泄漏/cpu 占用?

我认为这可能与 Socket.io 在用户断开连接后不清理资源有关,尽管文档说 Socket.io 会自动管理它。

任何帮助将不胜感激,这个问题使管理我们的服务器变得非常困难。请让我知道这个问题是否更适合 StackOverflow。

更新:经过更多研究,似乎 CPU 与连接数没有直接关系。我们的临界质量似乎是大约 1500 个并发连接,如下所示:

  • xhr 轮询:767
  • 网络套接字:692
  • jsonppolling:80

有时我们可以在只有 500 个连接的情况下 100% CPU,其他时候它的 1500 个连接。我知道发送消息的速率有很大的影响,但是速率是相当一致的。

debugging memory-leak cpu-usage socket node.js

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

如果服务器用完端口会发生什么?

如果客户端加入服务器,则每个连接中都有一个本地端口和一个远程端口。如果超过 65535 个客户端尝试加入我的服务器,会发生什么?

port socket

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

Unix 套接字连接限制

这可能看起来像一个已经讨论过/回答过的问题。但我专门寻找在任何地方都找不到明确回答的信息。

我有一个 Nginx + php-fpm 设置,它使用 unix 套接字将 Nginx 与后端 php-fpm fastcgi 进程对话。最近我听说基于 unix socket 的连接不像基于 tcp 的连接那样可扩展。不确定这里的限制因素是什么,尤其是当我从同一主机运行所有内容时。

我可以增加每个系统或用户(nginx)的最大文件描述符。我还可以增加每个 nginx 工作进程的这个限制。最大文件描述符是限制因素吗?

我在此设置中配置的网站很少,并且最大套接字(每个网站一个)。我使用的少于 50 个。当多个 nginx 线程在高负载下与后端的多个 php-fpm 实例通信时,每个套接字是否有最大并发连接数限制?或者,如果并发性非常高,实际上什么可以限制套接字允许这些连接?

是否还有其他因素会影响性能,如锁、磁盘 io 性能等?

connection tcp socket

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

路由添加/删除后的时序问题(未使用路由)

我有一个运行原始 IP 套接字的应用程序,该套接字的目标由通过“ip route add”命令安装的路由控制。这些路由在套接字的生命周期内可能会发生变化(例如,因为下一跳发生变化)

简化,假设我有 2 个接口,eth0eth1. 我也有一个默认路由,通过eth0.

例如10.10.10.10,原始套接字的端点是eth1 具有地址100.0.0.1,我在原始套接字的生命周期中执行以下操作:

ip -f inet route delete 10.10.10.10
ip -f inet route add 100.0.0.2 dev eth1
ip -f inet route add 10.10.10.10/32 via 100.0.0.2 dev eth1
Run Code Online (Sandbox Code Playgroud)

现在我看到的是,在此操作流量正确通过eth1几秒钟后,它会出错(通过 eth0)一小段时间(不到半秒),然后又正确(就我永久看到的而言) )。

所以我的主要问题是: - 任何人都可以解释这里可能出现的问题吗?我尝试ip route flush cache在前面提到的序列之后添加,但没有做任何事情。我目前对为什么流量有时会下降感到困惑。我认为这要么是路由命令中的计时问题,要么是其他一些触发器在一瞬间禁用了路由,但我的选择已经用完了。

我曾尝试使用SO_BINDTODEVICE选项在我的原始套接字,但很可惜这并没有帮助很大,主要区别是,当业务出现问题它没有发出可言,因为它会去了错误的接口。但是,我希望的是这会将 errno 设置为 E_CANNOTROUTE 之类的东西(这不存在),因此我可以捕获它并重试发送数据包。它目前没有这样做,但是有没有办法可以捕捉到这样的失败?我(几乎)完全控制了系统和运行套接字的应用程序。

我知道可行的一种解决方案是不使用 L3 原始套接字,而是使用AF_PACKET套接字(并且我自己也使用 ARP/ND),但我现在还不想这样做。

更新

通过更改此路由更改行为,我改进了系统中的行为。当我必须更新下一跳时,我现在会查看已安装的路由并根据该路由执行操作:

  • 如果它不存在,我只安装新路由并跳过删除。
  • 如果确切的路线已经存在(相同的 nh,相同的开发),我现在什么都不做。
  • 如果此路线存在另一个 nh,我现在只针对此 …

linux routing socket

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