首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要什么样的服务器每天处理1000万次请求和mySQL查询?

我需要什么样的服务器每天处理1000万次请求和mySQL查询?
EN

Server Fault用户
提问于 2010-03-19 06:52:06
回答 2查看 74.4K关注 0票数 25

我是一个服务器管理新手,我正在寻找一个强大的托管服务来主持我的新网站。这个网站基本上是一个移动网络游戏的后端,它将:

  • 每天处理多达1000万个HTTPS请求和mySQL查询
  • 将多达2000 GB的文件存储在硬盘上
  • 每月传输大约5000 GB的数据
  • 它运行在PHP和mySQL上。
  • 在mySQL数据库中有1000万条记录,每条记录有5-10个字段,每个字段约100个字节。

我真的不知道我需要什么样的服务器来处理这些需求,我的问题是:

  1. 对于专用服务器或VPS,我需要哪些CPU/RAM?
  2. 哪些托管公司能够提供这种专用服务器或VPS?
  3. 云计算呢?我研究过亚马逊的EC2,但对我来说似乎很复杂。我已经联系了Rackspace,但奇怪的是,他们说Cloudsite不适合我的需求。我想知道是否还有其他云托管公司。
  4. 还有其他替代方法吗?
EN

回答 2

Server Fault用户

回答已采纳

发布于 2010-03-19 07:01:34

便宜的桌面?

我们开始数学题吧。

  • 1 000万次请求。
  • 每小时就有416667次请求。
  • 这将减少到每分钟6944个请求。
  • 这将分解为每秒116个请求。

如果查询足够简单的话,我们谈论的是一个廉价的四核桌面所能处理的负载,而且你不会说它们有多复杂。

  • 每月5000 GB是微不足道的-严重的,同样的数学适用。
  • 每天减少到208 to
  • 它可以分解为每小时8GB
  • 分解为每分钟148 to
  • 这将分解为每秒2,5MB,25 25Mbit。双倍峰值-50 50Mbit,对任何托管中心来说都是微不足道的。不过会让你付出代价的。
  • 将2000 GB存储在硬盘上。那是2x2000 GB硬盘在一个RAID?除非:对于数据库来说,一个有很多复杂的IO,那么它就是RAID 10 (大约60张光盘)中的十几张光盘和大量73 get的15.000RPM SAS光盘之间的任何东西,如果没有更多关于数据访问模式的信息,这个问题是无法回答的。
  • 运行PHP和MySQL --我的手机可以做到这一点;)问题是应用程序有多复杂。MySQL可能是也可能不是一个可以接受的解决方案,BTW l。-这将需要更多的测试。有些人仍然使用其他更大的商业数据库是有原因的。
  • 对于专用服务器或VPS,我需要什么样的CPU/Ram?

可以说,这取决于逻辑( PHP部分中的计算量、程序员的聪明与否以及许多其他问题)。

说真的,这是一个非常重要的设置。找专家调查一下。

基本上,你需要下来完成你的家庭作业。许多问题都不能用这种形式回答。尤其是因为你似乎不在乎你的数据..。

  • 备份?
  • 没有应急计划?我的意思是,服务器死掉了--那么,在配置替换的过程中,您还可以让站点连续几天关闭吗?
票数 33
EN

Server Fault用户

发布于 2010-12-18 20:46:48

为了补充我的一些经验,这些经验可能会有所帮助:

  • 正如TomTom所提到的,很难/不可能给出精确的规范,因为其中很多都取决于应用程序的设计和实现。给我或其他人X请求/秒的硬件可能不适合你。
  • 我有一个低端专用MySQL服务器(英特尔Core2 Duo E4600 2.40 GHz,4GB内存),平均提供100次请求/秒(接近1000万次/天),空闲率为90%。除了对配置的一些基本调整之外,由于读取量很大(+95%读取),并且活动记录集很容易包含在内存中,所以它运行良好。在选择服务器RAM的数量时,请考虑活动集的大小,因为它会产生很大的差异。确保您理解数据库大小与活动记录集大小之间的差异。例如,我的数据库总数为7GB,但活动集可能只有几个100 my。
  • 类似地,我有一个类似规格的Apache服务器,每天提供100万次请求,平均CPU空闲率为95%。请求是非常简单的地图数据、AJAX查询和更复杂的MediaWiki页面的组合。
  • 对特定的应用程序进行基准测试是一个很好的开始,可以尝试确定您需要的是什么。你不想低估,但高估可能是同样糟糕的,因为潜在的浪费金钱和努力。
  • 不仅要考虑平均请求率,还要考虑峰值请求率。您不需要一个几乎无法处理平均费率的服务器,因为请求速率在一天、一周和一个月之间可能会有很大的差异。例如,我可以在周末的高峰时间获得3-4倍的交通流量,就像我在一周的最短时间内所做的那样。它的变化将取决于您的应用程序和用户基础。
  • 您能缓存任何数据库/HTTP请求吗?这可以大大提高您的请求率,使用更便宜/更少的硬件,这取决于您可以缓存多少。
  • 现在而不是以后,考虑一下您对未来增长的缩放选项。一个很好的选择可能是使用水平缩放,这将使您从最少的硬件开始,并在需要时轻松增长。
  • 正确设计应用程序层会对其最终性能产生巨大影响。没有索引的表上的SQL查询可能比正确设计的查询慢几个数量级。类似地,配置不良的Apache/MySQL服务器可能比正确设置时慢很多倍。
票数 9
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/124153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档