我想构建一个高性能的 Web 服务器。我将使用 Ubuntu Server 9.04。
安装 GNOME 桌面会很方便,但我只能通过命令行管理。
GNOME 桌面通常会降低 Web 服务器或服务器的性能多少?我想确定性能损失是否值得桌面。
此外,Webadmin 工具如何影响服务器性能?
我想构建一个高性能的 Web 服务器。我将使用 Ubuntu Server 9.04。
安装 GNOME 桌面会很方便,但我只能通过命令行管理。
GNOME 桌面通常会降低 Web 服务器或服务器的性能多少?我想确定性能损失是否值得桌面。
此外,Webadmin 工具如何影响服务器性能?
如上所述,它不应该对您的服务器性能产生很大影响。我不会安装整个ubuntu-desktop。轻量级的 Gnome-core对于服务器来说绝对足够了。
可选的:
现在您将通过键入启动桌面
在控制台提示符下。
GNOME 喜欢预先缓存内存,因此如果您正在运行 GNOME 桌面,您可能会很快看到大量 RAM 被吞噬。对于台式机来说,这不是一件坏事。虽然这个缓存的内存没有直接使用(它应该在需要时是空闲的),但会影响性能。
如果您真的关心性能,请使用诸如 openbox(使用 gtk)之类的轻量级工具。
但是,我不鼓励在服务器上使用 gui。gui 应该在您的桌面上,并且应该在您的服务器上启用 ssh。直接在服务器上运行 GNOME 似乎更容易,但您的目标应该是尽可能少地在每台服务器上运行。服务器不是精美的桌面(即使您当前的服务器是旧的桌面系统)。
到目前为止,我一直认为这是一个安全问题而不是性能问题——确保 gnome 和相关软件包是最新的额外开销。我从不担心它的性能方面,特别是因为大多数时候我们的 linux 服务器在没有我或其他任何人在本地登录的情况下运行。
我无法想象 GNOME 桌面会以任何明显的方式减慢速度,除非使用您可能想要分配给其他进程的内存。但是现在内存非常便宜,所以这是一个小问题。
您在登录时运行的应用程序比 GNOME 本身更有可能产生影响。在您登录的那一刻,将加载许多应用程序,这将对其他应用程序的 CPU 性能产生瞬时影响,因为磁盘被大量使用最多几十秒。
我也无法想象 Webadmin 或任何其他 Web 应用程序会在服务器上造成重大的性能损失。除非您正在积极使用它,或者除非它以某种方式受到网络攻击,导致大量且不寻常的请求进入该网络应用程序 - 远远超过人类在同一时间段内可以输入的数量。防火墙可以防止这种情况发生。
我认为今天没有理由在没有 GUI 的情况下运行任何服务器。
在您开始使用它们之前,安装并使用这些软件包并不会影响性能。然后,性能影响将取决于该特定组件的使用量。
就服务器维护而言,我会使用像 Chef 或 Puppet 这样的配置管理系统,它允许我通过声明性资源对环境进行“编程”,而不是使用基于 Web 的 GUI 来管理事物而不了解它们的实际工作方式。
还要记住,在系统上提供 GNOME 桌面与始终运行图形登录会话是有区别的。
如上所述,您可以让系统处于运行级别 3(具有网络但没有图形登录会话的多用户),然后使用 startx 按需启动它。
但是您不必在本地运行它——您可以在打开 X11 转发的情况下通过 ssh 登录并执行相同操作。只要您的网络连接在某些时候没有通过细管道挤压,这将为您提供完整的图形体验,同时最大限度地减少服务器上的资源使用。您将只运行 X11 客户端(桌面、xterm 等),而无需在系统上运行 X11 服务器来呈现客户端的输出。
当您可以使用 webmin 或 ispconfig 时,为什么还要在服务器上使用 Gui。这是 linux 服务器的两个流行的 web gui 界面。您可以从具有 gui 感觉的远程桌面执行所有与服务器相关的操作。
我没有发现性能是杀手级的,增加的可用性是一个奖励。当然,如果你没有它也能过得去,那就更好了——但如果你真的迷路了,不要限制自己。
不要忘记,如果您需要在服务器上运行基于 X11 的实用程序(例如,邮件服务器上的完整 Web 浏览器,用于在某些 RBL 上提交除名请求,您可能会因不相关的活动而无意中提出这些请求),您将不需要该服务器上的本地 X 桌面;您可以在 SSH 中使用 X11 转发,甚至可以直接使用 X 网络在服务器上运行该应用程序并将其显示在客户端上。