这是一个完全假设的问题,我和一位同事一直在思考/争论这个问题,我们认为 SF 的一些知识渊博的人可以提供一些启示。
举例来说,假设您有一个广告服务器,每天提供大约 1000 万次广告展示。利用 Linux、nginx、memcached、MongoDB(或类似的 NoSQL 数据库)、高度优化的代码和 CDN,是否可以合理地假设专用服务器可以独自处理这一切(我们说的是相当大容量的专用服务器,具有 10-16GB 的 RAM 和 12 核至强处理器)?这里的主要活动是提供静态横幅广告,并对数据库进行一些快速调用以选择广告并更新展示和点击统计数据。有什么想法吗?
答案1
这是一个相当模糊的问题,尽管有很多细节和流行语,但我会说“绝对可能”。
对于服务器来说,16GB 已经不算多(相比之下,我的台式机有 16GB;我很少在服务器上部署少于 32GB 的内存)... 并且根据您的不同印象,您可能会考虑使用 SSD 或 ramdisk 或某种组合来改善数据库和图像的访问时间。 I/O 可能比 RAM 更具阻力,尽管您可以轻松获得 32GB 的服务器并将更多 RAM 投入到内存缓存中。