标签: xen

为什么在 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万
查看次数

xvda1 已 100% 满,这是什么?怎么修?

我在 EC2 上运行 Linux 实例(我安装了 MongoDB 和 node.js),但出现此错误:

Cannot write: No space left on device
Run Code Online (Sandbox Code Playgroud)

我想我已经追踪到这个文件了,这里是 df 输出

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1             1032088   1032088         0 100% /
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道这个文件是什么,我也不知道这个文件是否是问题所在。

所以我的问题是:如何修复“设备上没有剩余空间”错误?

linux xen amazon-ec2

63
推荐指数
3
解决办法
15万
查看次数

Xen PV、Xen KVM 和 HVM 的区别?

我知道 Xen 通常比 OpenVZ 好,因为提供商不能在 Xen 中超卖。但是,Xen PV,Xen KVMHVM(我正在查看该提供商的规格?哪个更适合用于什么目的以及为什么?有什么区别?


编辑:

对于仅托管网站的最终用户来说,哪个更好?从效率或其他角度来看,一个比另一个有什么优势吗?

virtualization xen vps kvm-virtualization

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

Xen 与 KVM 的性能对比

在相同的硬件上,Xen 或 KVM 哪个更快?

我正在尝试采用一种虚拟化技术来工作,它可以提供最佳性能。

我在这里找到了一些关于该主题的基准测试:http : //virt.kernelnewbies.org/XenVsKVM

他们将 KVM 视为赢家,在性能上有显着差异——这与 KVM 是 2 类管理程序的想法背道而驰,根据定义,它应该比 1 类管理程序(如 Xen)慢——或者至少是网上的文章说。

关于这个主题的任何想法?

performance xen kvm-virtualization benchmark

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

“企业级”虚拟化有什么好处?

对于具有适度虚拟化需求的公司——VirtualBox 目前在托管一些轻型服务器方面做得很好——迁移到更强大的平台有什么好处?

我希望能稍微缩短我的研究 - 获得企业级虚拟化具有 VBox 及其同类产品没有的功能的简短列表。

virtualization xen hyper-v virtualbox vmware-esxi

22
推荐指数
3
解决办法
1837
查看次数

将同一个分区挂载到多个 VM 是否安全?

我将 ubuntu 20.04 与 Xen Hypervisor 一起使用。在我的机器上,我有一个 SSD 来承载我的 VM 映像,然后是四个我有数据的 sata 驱动器。我当前的设置是在我的 domain0 上挂载数据,然后通过网络文件服务器将该数据提供给其他 VM。

这似乎效率低下,因为所有 VM 都必须通过我的 NIC 才能访问数据。我认为这是一个大瓶颈的假设是否正确?

在同一物理机中提供数据的行业标准是什么?对此设置有什么建议或改进吗?

在每个 VM 上安装数据 LVM 是否有危害?我对这种方法的担忧是,如果两个 VM 尝试同时访问同一个数据点会发生什么?此设置是否容易受到数据损坏的影响?

服务器设置数据图

xen virtual-machines lvm mount

22
推荐指数
2
解决办法
3896
查看次数

KVM 是类型 1 还是类型 2 管理程序?

KVM 是类型 1 还是类型 2 管理程序?

我知道类型 1 管理程序在裸机上运行,​​而类型 2 管理程序是运行在操作系统(例如 VMware Workstation)之上的应用程序。我也知道类型 1 和类型 2 客户端之间的性能差异可能很大。

我很困惑,好像 KVM 是类型 1 或 2,因为我知道可以在 dom0 中安装桌面环境。

virtualization xen redhat kvm-virtualization

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

LVM 快照作为备份策略

xen domU 的定期 LVM 快照作为备份策略的可行性如何?优点,缺点,有什么问题吗?

对我来说,这似乎是快速、无脑恢复的完美解决方案。任何调查都可以在 domU 成功运行而没有中断的情况下对损坏的逻辑卷进行。

编辑:

这就是我现在在做完整系统备份时所处的位置。

  • domU盘lvm快照
  • 大小等于快照大小的新逻辑卷。
  • dd if=/dev/snapshot of=/dev/new_lv
  • 使用 lvremove 处理快照
  • 使用 kpartx/mount/ls 进行可选验证

现在我需要自动化这个。

backup xen lvm

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

virtualbox 是否适合实时服务器虚拟化

我之前使用虚拟盒在我自己的个人计算机上测试操作系统安装。我不确定它是否适合实时服务器上的实际虚拟化。为此,我主要听说过 Xen。virtualbox 是否处于同一级别(生产环境虚拟化)?除了 Xen 之外,还有哪些其他选择?

virtualization linux xen virtualbox

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

Windows Server 2012 R2 上的严重结构损坏

我有一台 Windows Server 2012 R2 虚拟机;是的所有更新。其他软件包括 Microsoft SQL Server 2014(在以前的 VM 上是 2012)。Web 托管公司将 xenpci.sys(EJBPV XenPCI 驱动程序(已检查构建),James Harper)作为其在所有 VM 和 Plesk 上的默认安装的一部分。

操作系统会定期挂起、蓝屏或重新启动。我确实得到了小型转储,但并非总是如此。通常的问题是:

错误:CRITICAL_STRUCTURE_CORRUPTION

特定的顶级文件(显然不是原因)各不相同:win32k.sys、ntoskrnl.exe、xenpci.sys(Xen 驱动程序,虽然只出现了几次)和 ndis.sys。

OSR(开放系统资源)分析器没有多大帮助。WhoCrashed 分析器更有帮助。

它指出:

已发现并分析了 17 个故障转储。本报告中仅包含 10 个。已确定第三方驱动程序会导致您的计算机系统崩溃。强烈建议您在其公司网站上检查这些驱动程序的更新。单击下面的链接以使用 Google 搜索这些驱动程序的更新:

xenpci.sys (EJBPV XenPCI Driver (Checked Build), James Harper)
Run Code Online (Sandbox Code Playgroud)

我试图推动网络托管公司研究该主题,但他们可以空手而归。我不相信 Xen 驱动程序有错。WhoCrashed 发现了它,我认为这只是因为那是最后几次驱动程序,而且它是第三方,所以它有罪。我没有写 WhoCrashed,所以很难进一步评论。

我的问题是如何解决问题。

在过去的几年里,网络托管公司已经尝试给我提供两个新的虚拟机。问题转移了。我安装了 SQL Server,但默认安装的是 OS 和 Plesk。好的,还有邮件服务器软件。网络托管公司还告诉我,他们没有其他客户有类似的抱怨。他们多次运行磁盘测试。磁盘健康状况良好。

我没有检查注册表的健康状况,但问题在安装过程中发生并且经常发生,所以我不得不打折。我现在在我的第三个或第四个虚拟机上。

同样,我提到 Xen 是因为 WhoCrashed 提到了它,但我不相信这是原因,其他客户确实使用它。系统有足够的内存和存储空间,所以这不是问题。

更新:以下是网络托管公司对我的查询的一些回答。

通常情况下,卸载驱动程序后,VM 的性能会下降。硬件节点可能存在一些同步问题。

我使用的是检查版本还是发布版本?

您正在使用测试签名的版本,与开发人员网站上的版本相同。

我怎么知道?设备管理器中的 Xen PCI 属性对话框没有以一种方式或另一种方式说明。设备管理器中的条目是唯一的位置吗?我检查了程序和功能,但没有看到任何内容。

您可以在添加或删除程序下检查版本。请参阅随附的快照。

我如何/在哪里可以找到他们网站上最新版本的位置?

开发人员的站点不工作 - http://www.meadowcourt.org/downloads/ 你可以从这里下载最新的签名版本 - http://wiki.univention.de/index.php?title=Installing-signed-GPLPV-司机 …

xen server-crashes windows-server-2012-r2

15
推荐指数
2
解决办法
3576
查看次数