我一直在寻找这个问题的答案,并提出了一些基准和一大堆宣传材料,但是我不清楚该选什么。
如果我设置了一个新的rails 3.1前端服务器,我应该select什么版本的ubuntu(11.04或11.10)?
下面是我对这个决定的一些考虑(不是针对rails的):
这两个都不是LTS发行版,所以在发行后的18个月内都会达到其支持的最终效果。 11.10刚刚在本月发布。 11.04已经发布了6个月,所以在一年之内就要到期了。
11.10将有各种软件包和应用程序的更新版本。 这对于获得新项目中的最新function非常有用。
11.04已经存在了半年左右,所以不太可能有未被发现的错误。 如果我在不久的将来推出一个需要较less风险的项目,那么通常我会避免一个新版本,直到它一个月或两个月。
11.10可能会比以前的版本更快解决问题,因为它是最新的。 如果这是你想要运行的地方,它也可能会得到更好的EC2支持。
在生产中避免Ubuntu 11.10几个月,以允许发现和解决错误。
昨天我们在Ubuntu 11.04(Oneiric)实例上重新部署了一个在Ubuntu 11.04(Natty)上运行的网站,这是过去三个月的难题。 到第二天,我们已经确定了两个主要问题:
PHP的会话清理cron作业是通过为每个会话( forum )分配fuser来使用100%的CPU,给用户造成503s。 我们回到了cron工作的11.04版本。
Apache日志满了“408”(客户端请求超时)错误,我们仍然没有诊断。
可能还有其他的潜伏,所以我们决定回到11.04。 幸运的是,我们的部署脚本使得将基于11.04的实例置换到负载平衡器中相对较快。
我从来没有在11.04发生过这种事情,但是在11.10实例之后的几天,我终于放弃了SSH访问它,这从来没有发生过11.04。 我会考虑它,或LTS发布之一!