小编Jon*_*nas的帖子

为什么在 Xen 下 TCP accept() 性能这么差?

我的服务器可以接受()新传入 TCP 连接的速率在 Xen 下非常糟糕。对裸机硬件的相同测试显示速度提高了 3-5 倍。

  1. 在 Xen 下怎么这么糟糕?
  2. 您可以调整 Xen 以提高新 TCP 连接的性能吗?
  3. 是否有其他虚拟化平台更适合这种用例?

背景

最近,我一直在研究在 Xen 下运行的内部开发的 Java 服务器的一些性能瓶颈。服务器使用 HTTP 并回答简单的 TCP 连接/请求/响应/断开连接调用。

但即使在向服务器发送大量流量时,它每秒也不能接受超过 7000 个 TCP 连接(在 8 核 EC2 实例上,运行 Xen 的 c1.xlarge)。在测试期间,服务器还表现出一种奇怪的行为,其中一个内核(不一定是 cpu 0)负载超过 80%,而其他内核几乎保持空闲。这让我认为问题与内核/底层虚拟化有关。

在裸机、非虚拟化平台上测试相同场景时,我得到的测试结果显示 TCP accept() 速率超过 35 000/秒。这是在运行 Ubuntu 的 Core i5 4 核机器上,所有内核几乎完全饱和。对我来说,这种数字似乎是正确的。

再次在 Xen 实例上,我尝试启用/调整 sysctl.conf 中的几乎所有设置。包括启用接收数据包控制接收流控制以及将线程/进程固定到 CPU,但没有明显的收益。

我知道运行虚拟化时性能会下降。但到这个程度?速度较慢的裸机服务器优于 virt。8 核乘以 5?

  1. 这真的是 Xen 的预期行为吗?
  2. 您可以调整 Xen 以提高新 TCP 连接的性能吗?
  3. 是否有其他虚拟化平台更适合这种用例?

再现这种行为

在进一步调查并查明问题时,我发现netperf性能测试工具可以模拟我遇到的类似场景。使用 …

virtualization linux performance xen amazon-ec2

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

如何记录 Linux 命令?

有没有办法记录我使用的 Linux 命令并在另一台机器上重复使用它们,或者如果我想重新安装机器?

在示例中记录我如何在实验室环境中设置 NginX、PHP 和权限,然后在部署机器上重复准确的命令?

linux installation command-line-interface history

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

SNMP 在小型网络中有什么用?

我一直在小型企业办公室管理服务器和客户端,从未使用过 SNMP。但我读过它,它看起来很有趣。据我所知,如果您有一个更大的网络,其中包含许多应该监控的网络设备,那么它最有用。

在较小的网络中是否有任何有用的 SNMP 用例?是否建议我使用它?

monitoring network-monitoring snmp

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

containerd 1.4.9 未实现的 desc = 未知服务runtime.v1alpha2.RuntimeService

我已经安装containerd 1.4.9在 CentOS steam 8 服务器上。

基于此文档https://containerd.io/docs/getting-started/。我已经创建了containerd config default > /etc/containerd/config.toml这样的默认配置文件。

重新启动containerd后,当我运行crictl ps它时抛出以下错误

FATA[0000] listing containers failed: rpc error: code = Unimplemented desc = unknown service runtime.v1alpha2.RuntimeService
Run Code Online (Sandbox Code Playgroud)

如何修复这个错误?1.21.3修复此问题后,我想使用cfgroup将此节点加入到 Kubernets 集群systemd

谢谢SR

kubernetes containerd

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

具有容错和持久消息存储的 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
查看次数

暂时禁用 aws CodePipeline?

我设置了一个 AWS Codepipeline,它来自 Github,由 CodeBuild 构建,然后通过 CodeDeploy 部署到 ec2 实例。这个 ec2 实例是开发环境。

由于我的团队决定暂时不使用此服务器/代码,因此我们停止了 ec2 实例。所以我想暂时停止 Codepipeline,目前(CodeBuild 和 CodeDeploy 不是免费的,即使价格非常低......)但是,我找不到暂时禁用 codepipeline 的选项。

题:

  • 我可以暂时禁用代码管道吗?

amazon-web-services amazon-codepipeline

5
推荐指数
3
解决办法
3830
查看次数

在 Windows 服务器上使用内置软件 RAID-1 有什么缺点吗?

我在服务器上使用硬件 RAID 时遇到了一些问题。现在我打算改用 Windows Server 内置软件-RAID-1。该服务器仅用于工商管理,所以我不需要高性能。操作系统为 Small Business Server 2008,服务器为 HP ProLiant DL320 G6。

使用 Windows Server 2008 内置软件 RAID 进行镜像有什么缺点吗?

windows-server-2008 software-raid mirroring raid1 windows-sbs-2008

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

如何启用非 sudo 用户访问所有进程的顶部?

我使用 Ubuntu 服务器 10.04。我的用户通常无权访问 sudo。当该用户使用 top 命令时,他只能看到当前用户的进程。我添加了一行/etc/sudoers

user ALL = NOPASSWD: /usr/bin/top
Run Code Online (Sandbox Code Playgroud)

但是现在我们不仅可以访问系统进程列表,还可以杀死它们,这是不希望的。

有没有其他方法可以做到这一点?

security ubuntu hosting sudo top

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

如何使用内存填充 ProLiant DL320 G6 服务器?

我在使用新的 HP ProLiant DL320 G6 服务器时遇到问题。从一开始它不得不减少内存,现在我已经订购了两次更多的内存。现在我正在努力用这些记忆填充服务器。

我有两个记忆: HP 4GB 2Rx4 PC3-10600R-9 Kit

我应该如何在主板上填充它们?

我试图理解文档,但对我来说很不清楚。我已填充插槽 1 和 4,但无法使用该配置启动服务器。

memory configuration hp hp-proliant

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

为什么服务器需要 UPS?

我更清楚为服务器配备 UPS 是多么重要。每个人似乎都将 UPS 用于服务器,而不是用于客户端计算机。

例如,如果我在小型网络上为 Active Directory 使用 Windows Small Business Server 并存储用户主目录以进行备份,它对 UPS 仍然有用,为什么?如果发生断电,文件系统不应该处理它,因此没有文件损坏吗?在这种情况下,我认为客户端的问题是一样的。

我确实理解它在更改服务器配置时在服务器上很有用,但这是在非常有限的时间内完成的,听起来在配置之前进行良好的备份更值得。

而在考虑数据库事务时,我认为数据库管理系统中的事务逻辑应该处理它,这就是事务的用途。

最后,如果使用 UPS,服务器应用程序不需要支持它吗?否则停电只是延迟?还是只有操作系统需要UPS?

为什么服务器需要 UPS 而客户端不需要?

ups electrical-power

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

为什么需要 PHP Suhosin?PHP 不是已经为安全性打了补丁吗?

我打算设置一个 Linux-VPS 并在其上运行一个 PHP 站点。我读过建议使用PHP Suhosin来修补PHP以确保安全。但是不是在每个新版本中都为 PHP 打了安全补丁吗?还是 PHP Suhosin 使安全性比 PHP 自己计划做的更好?还是 PHP Suhosin 仅适用于旧版本的 PHP?

security php patch

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