EC2服务器,微实例是否足够?

时间:2012-05-22 19:39:43

标签: mysql amazon-ec2 amazon-web-services instance

我一直在开发一个网站,每小时将大约1200万行代码(~1GB / Data)导入mySQL数据库。在查看了不同的VPS'然后是amazon ec2之后,我正在考虑采用最具成本效益的解决方案。

对于网站访问者而言,每月页面浏览量应该只有300-600k(最大带宽为15GB),并在当天均匀分布。

当我导入数据时,我使用“IN FILE”并且它导入~200-350k行,并且只需要~1-3秒。进口是通过Cron Job运行的,每分钟运行1次(每天约1400次)。

拥有VPS或使用Amazon EC2会更好吗?如果我使用Amazon EC2,那么CPU峰值对于微型甚至小型而言太多了(我需要高CPU中型实例)吗?

如果有人能分享一些有关CPU mySQL实际可以提供多少内容的知识~1-3秒或CPU时间内允许多少微实例。

如果我使用VPS路线,我将从http://x10vps.com/self-managed-vps.php获取S1包,并在需要时升级到S3。

1 个答案:

答案 0 :(得分:3)

如果不了解您正在加载的数据的详细信息,很难说清楚这一点。 MySQL是否必须更新表中的索引?一切都已正确排序吗?有多少列,你在LOAD DATA INFILE语句中执行任何CPU密集型操作(例如替换部分字符串)?是在一段时间后删除旧数据,还是应该在应用程序的整个生命周期内保留所有数据?

话虽如此,听起来像单个Micro实例可能在处理这个问题时遇到了麻烦。如果您使用大量EBS存储(可能是RAID配置)备份实例,则导入数据应该没问题,但如果该单个实例也负责在如此大的数据集上运行用户查询,则可能不会跑得很顺利。在导入脚本运行时,最多只会有几秒钟的用户请求延迟。根据您的应用,可能接受也可能不接受。

如果您要对数据运行昂贵的查询,我现在可以说在单个Micro实例上不能很好地运行:)您可以扩展到更大的实例或根据您的需要,您可能还想考虑使用SimpleDB或类似的NoSQL解决方案(尽管这会在您的导入脚本中占用更多代码,因为您必须每批最多批量放置25个项目)。

但这些只是一些普遍的想法。 AWS实际上为新用户提供了免费使用层,这使您可以连续运行EC2 Micro实例一整年而无需支付一分钱,那么为什么不注册帐户并运行自己的测试呢?更多细节hereHere提供了一些关于微实例如何工作以及它们适合哪些应用的更一般的信息。