在一个EC2实例上运行Apache并在另一个上运行MYQSL会好吗?

我目前正在运行一个使用〜1.5GB内存的VPS。 我正考虑切换到Amazon EC2,因为访问我们的主机很慢,停机时间很长等等。

一个EC2小实例有1.7GB,所以我假设如果我想迁移,我将需要多个实例。 这个想法是在一个实例上运行Apache,在另一个上运行MySQL,然后根据任一实例上的RAM使用情况找出运行其余进程(Mono,Red5等)的位置。

我不是一个真正的服务器专业人士,所以我不知道这是否有道理,或者是否有我缺less的东西。 如果Apache(Wordpress等)必须访问另一个EC2实例上的数据库,会不会有大的性能下降? 还有什么可能会使这是一个坏主意?

简而言之:是的,这可能会有很大的意义。

具有针对不同服务的特定服务器可以是很有意义的。 对于不同的服务器有单独的硬件,这种情况比较常见,但是在VPS的情况下也是有意义的。 例如。 不同的文件系统为不同的应用程序提供不同的好处,不同的安装选项可以帮助/阻碍不同的访问模式,以及其他软件相关的调整。 在服务之间也会遇到困难,例如。 Apache / PHP不会吃掉所有的CPU并杀死可能使用MySQL的其他服务。

就MySQL而言,Amazon提供了专用于MySQL实例的RDS实例。 这给了一个远程实例,这个实例是预先configuration好的,用来运行MySQL,并且是一个非常好的方法来完成你正在看的东西。 RDS的缺点是你将无法在数据库服务器上安装其他应用程序,因为我不相信你获得了与EC2实例相同的访问权限。 这意味着您可能需要三个实例或一个较大的第一个实例,具体取决于您正在运行的其他实例。 亚马逊的VPC还可以考虑另一项服务。