【问题标题】:Why does Cloud Functions perform so low yet so expensive?为什么 Cloud Functions 的性能如此之低却又如此昂贵?
【发布时间】:2019-04-17 16:36:38
【问题描述】:

我最近刚刚注册了一个 Google Cloud 免费套餐,并对 Cloud Functions 产生了兴趣,它可以让我在不安装操作系统系统或软件开发工具的情况下开发和运行代码。所以我想在 2GB 和 2.8Ghz CPU 上运行这个函数来测试它的性能极限

exports.helloWorld = (req, res) => {
  let message = getTheLottery();
  res.status(200).send(message);
};

function getTheLottery(){
for(var i=0,len=10000000;i<len;i++)
{
var ticket=sha256(makeid(5));
if(ticket=='7CD743877911812A45CD7974023A2D1ACA9831C82057902A2300874A951E6E17')
     return true;
    }
    return false;
}

SHA256 算法来自here & makeid 来自here 以生成随机字符串

完成任务需要 40 秒 (40311ms),在 C++ 或 C# 上实现此代码添加简单的并行和多线程它可以在 4GB ram 和 i5 2.5ghz 的普通学校 PC 上在不到 7 秒的时间内轻松运行任务加上它必须在后台运行操作系统系统和少量软件,更不用说代码了,当谷歌声称它可以使代码比普通 PC 快 75% 时

我没有尝试过 Azure 云功能。假设我将“功能”带到我的网站并让 ppl 运行 1000000 次,根据calculator 的计算,这将花费 1657 美元,并且可能一整天运行几百次而几乎没有任何优化的方法是一笔财富代码或系统,因为它都是有限的,运行时间越长,它的成本就越高。有了这笔钱,我可以租用具有强大 GPU 的虚拟机并以最高性能运行完全开发的渲染或蛮力软件

我有没有更好的方法来运行代码?因为这感觉就像一个带有额外步骤的在线代码编译器。它如何让无服务器计算成为“未来”?

【问题讨论】:

  • 云函数不是为并行化、计算密集型任务而设计的。
  • @SLaks 那么为什么它具有如此庞大的配置?我的意思是仅仅用它来发送和接收 HTTP 请求是一种浪费
  • 我不会认为任何 Cloud Functions 配置都是“巨大的”。
  • 将 Pub/Sub 与处理单个或一大块数据的云功能结合使用。让每个云函数实例做微小的计算,最后总结结果。

标签: performance loops google-cloud-functions


【解决方案1】:

重计算不是 Cloud Functions 的用例。事实上,有很多事情它不是很好,因为服务器实例只有一个 CPU,没有 GPU,最长执行时间为 9 分钟。

如果您有繁重的计算负载,请考虑改用 Compute Engine。如果需要,您可以编写一个云函数,将工作委托给 Compute Engine。

Cloud Functions 旨在将系统的其他部分粘合在一起,而无需为其创建和管理正式的基础架构。主要好处是轻松扩展(向上和向下),只需为使用的资源付费,并且能够触发 GCP 项目中发生的事件。

【讨论】:

  • 我已经知道 Compute Engine,这是我提到的 VM。谷歌是否有任何服务,如云功能有助于运行繁重的计算。我对这样一种想法很感兴趣,即人们可以将所有硬件都集中在运行和计算代码上。这比注册虚拟机、安装操作系统和软件来运行应用程序更方便
  • 没有。正如我所说,您可以做的是编写一个委托给 Compute Engine 的函数。这就是你如何获得背后有大量计算的无服务器触发器。
  • 请问您能否解释一下什么是“无服务器”?因为当我们在在线系统上租用虚拟机时,虚拟机本身就是一个服务器,它是否比本地 PC 更快?
  • Cloud Functions 触发器是无服务器的。计算引擎不是。它们是不同的产品,以技术上可行的方式解决不同的问题。目前将它们组合成一个产品在技术上不可行,但具有成本效益。
  • 也许这可能有助于您入门:medium.com/google-cloud/…
猜你喜欢
  • 2018-09-11
  • 1970-01-01
  • 2015-07-12
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多