我想知道其他人在 vmware 基础架构上运行 openbsd 有何经验。
我有一个非常常规的 Lighttpd+Mysql+PHP5 设置,包含 2 个 vmware 客户机:
-Debian7 喘息
-OpenBSD 5.2(选择此版本是因为某些更高版本甚至无法因内核崩溃而启动)
所有安装均未对其客户机内核、sysctl 值或 lighty/mysql 配置进行任何调整。另外,我不使用 memcached。两者都位于同一硬件、同一磁盘上。
我注意到 obsd 服务器上的网页非常慢。CPU 使用率主要被 php 占用,这是否意味着虚拟化 openbsd 不值得?
有人知道它为什么比 Linux Web 服务器慢的原因吗?我知道,在硬件支持方面,Linux 总是比 BSD 更好,但 VMware 模拟了一些大多数系统都认可的古老硬件。在 BSD 方面,它们在设计用途(网络操作)方面更胜一筹。
答案1
恕我直言,其他回答者没有仔细阅读你的问题,我认为他们一般会用一些在实际使用条件下不成立的假设来指责 OpenBSD,而你提供的主要信息其实是 PHP 占用的 CPU 最多。应该问以下几个问题:
由于这种情况很容易导致 php.ini 或 httpd.conf 配置性能低下,您是否在两个平台上都使用相同版本的 PHP?
您在每个系统上使用哪个 Apache(obsd 5.2 中默认使用它自己的 1.3 安全增强版本,但 Debian 默认使用 Apache 2.0,这会使您的结果非常不准确)。
您在 VMWare 中对虚拟机本身的配置是怎样的(驱动器、网卡等)?
指出其他答案存在偏见的一个原因是:
- Theo 的引言已有 7 年历史了。
- 在虚拟化方面,i386 实际上是 OBSD 的首选版本,而不是 AMD64 版本。
- 两者实际上都可以在 VMWare 中使用 OBSD5.5 和可能的 5.6(当前版本)很好地运行。
- 不存在所比较的虚拟机配置的问题,只是判断它(释义)“可能会很糟糕”。
答案2
据我所知,OpenBSD 没有很好的 x86 虚拟化支持,因为开发人员认为这会损害安全性。在实际硬件上运行它会获得更好的结果。
这是 Theo de Raadt 对这个问题的看法 -
x86 虚拟化基本上就是将另一个几乎满的、充满新错误的内核放在几乎没有正确页面保护的糟糕 x86 架构之上。然后在这个全新的垃圾堆的另一边运行您的操作系统。如果您认为一群无法编写没有安全漏洞的操作系统或应用程序的全球软件工程师可以突然编写没有安全漏洞的虚拟化层,那么您绝对是自欺欺人,甚至愚蠢至极。
答案3
我认为 OpenBSD 缺乏思想共享和优化。过去 6 年里,我从未听说有人在 VMware 上运行 OpenBSD。不过,我很好奇你为什么要围绕 OpenBSD 进行规划。
我发现的主要问题是内存管理和 OpenBSD 的 VMware 客户机工具的(缺乏)。我不确定它们能否顺利安装。
您是否将其性能与裸机硬件上的 OpenBSD 进行过比较?