云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

怎么做淘客-比较CPU绑定任务的无服务器性能

小七 141 0

比较CPU绑定任务的无服务器性能

本文是正在进行的Cloudflare worker与其他无服务器提供商性能比较系列文章的一部分。在我们过去的测试中,我们故意选择一个几乎不施加CPU负载的工作负载(返回当前时间)。对于这些测试,让我们看看将硬件推向极限的东西:加密。对于推高CPU的工作负载,drcloudflare Workers比默认Lambda函数快7倍。工人的速度比边缘处的Lambda,全球测试。 慢速加密PBKDF2算法被设计成计算速度慢。它被用来散列密码;它的慢使得密码破解者很难完成他们的工作。它极端的CPU使用率也使它成为Lambda或Cloudflare Workers等服务的CPU性能的良好基准。我们已经编写了一个基于Node Crypto(Lambda)和WebCrypto(Workers)api的测试。我们的Lambda在us-east-1中的API网关后面部署了默认的128MB内存,我们的Worker一如既往地部署在世界各地。我们的函数也运行在边缘处的Lambda部署来比较性能。再次,我们使用Catchpoint在世界各地数百个地点进行测试。再说一遍,Lambda很慢:此图表显示在过去24小时内发出的请求比给定的毫秒数快的百分比:工人的第95百分位速度是242ms。边缘处的Lambda是842ms(慢2.4x),Lambda 1346ms(慢4.6x)。lambda是根据它们分配的内存量和它们消耗的CPU毫秒数来计费的,四舍五入到最接近的100毫秒。运行一个消耗800毫秒计算的函数,每百万个请求将花费我1.86美元。工人工资为50美元/百万美元。显然,即使超出了成本,我的用户在等待响应时也会有一种非常糟糕的体验。正如我所说,工人们在全世界大约160个地方跑步,而我的兰姆达只在北弗吉尼亚州跑步。让我们看看华盛顿的一些不公平的测试:毫不奇怪兰姆达和边缘处的Lambda性能均衡地向我们展示了Amazon限制CPU的速度。在第50个百分位,Lambda处理器似乎比我们数据中心中端服务器核心慢6-7倍。 记忆您可能没有意识到Lambda所获得的CPU的能力与分配给它的内存量有关。随着内存的增加,性能也会提高。为了测试这一点,我们分配了一个具有1024MB内存的函数:同样,这只是来自华盛顿特区的测试,我已经过滤了500毫秒以上的点。Lambda和边缘处的Lambda使用1024MB内存的测试现在已经很接近了,但是仍然是工作人员的一半左右。更糟糕的是,用拜占庭式的定价公式来计算我的新Lambda会发现,我的1024MB Lambda的100毫秒(最小值)将与我之前支付的1.86美元完全相同。这使得Lambda每周期比工人贵3.7倍。增加更多的内存只会增加成本,而不是速度。这是一个3008MB的实例(我可以分配的最大值):这个Lambda将花费我5.09美元每百万个请求,超过10倍的工人,但仍将提供较少的CPU。一般来说,我们的假设是128MB的Lambda会购买1/8的CPU核心。当您选择购买具有更多内存的Lambda时,这一比例会不断上升,直到它达到某个核心的性能(减去hypervisor开销)时,这个性能就会趋于稳定。最终,亚马逊是根据执行时间来收费的,但在一个比我们预期慢得多的执行平台上。本机代码我们在上一篇文章中看到的一个回应是Lambda支持运行本机二进制文件,这将展示它的实际性能。当然,我们的Javascript测试很可能(肯定是在Workers的情况下)调用底层编译的加密实现。但是我不知道Lambda是如何实现的细节,也许批评者认为本机二进制文件可能更快。所以我决定延长我的测试时间。在恳求了一些我的同事,他们比我有更近的C++经验,我最终得到了一个lambda,它执行了在纯C++ 14中PBKDF2的BRIGIN SSL实现。结果非常无聊:执行本机代码的Lambda与执行Javascript的速度一样慢。Java正如我所提到的,不管使用哪种语言,所有这些加密都可能调用相同的高度优化的C实现。在这种情况下,它可能不是我们所选择的编程语言性能的准确反映(但它是CPU性能的准确反映)。许多人仍然相信用Java等语言编写的代码比V8中的Javascript要快。我决定也反驳这一点,我愿意牺牲我安装JDK的地方,并接受一辈子的更新通知。为了测试应用程序级的性能,我整理了一下面试记录,用Javascript和Java编写了一个简单的基本因子分解函数。我不认为使用新的和旧的卫士语言是否明智,但我要说的是,使用Lambda并不能为您带来多少好处:这是两个lambda的图表,一个有128MB的内存,另一个1024MB。这些测试都是从华盛顿特区(靠近我们的两个Lambdas)进行的,以消除我们员工在全球存在的优势。128MB实例有1745ms的95%的等待时间。当我们看看全球各地的测试,每天都有数十亿的互联网用户浏览这些测试时,我们得到了一个关于员工部署能力的最好例子:当我们将竞争对手排除在我们的分析之外时,我们能够使用相同的技术来检查Workers平台本身的性能,并发现更多的改进和优化机会。这就是我们所关注的:让员工更快、更强大、更容易使用。正如你所想象的,考虑到这些结果,工人队伍正在成长。如果你想在Cloudflare从事这个或其他大胆的项目,请伸出援手。.twitter图标{宽度:16px;高度:16px;线路高度:1.1;显示:内联块;背景图像:url(数据:image/svg+xml;utf8;base64,第四版、第四版、第四版、第四版、第四版、第四版、第四版、第四版、第四版、第四版、第四版、第三版、第四版、第三版、第四版、第三版、第三版、第三版、第四版、第三版、第四版、第三版、第四版、第四版、第四版、第四版、第三版、第四版、第三版、第四版、第三版、第四版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第三版、第5VCMCVMTK5OS94BGLUAYIGDMVYC2LVBJ0IMS4XIIBPZD0IQ2FWYV8XIIB4PSIWCHGIIHK9IJBWE这种新型的纤维混合材料,如纤维、纤维、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料、材料Ldq1ljc3ny00mc4xntusntuumtg0lty5ljqxmsagicbjlti0ljmymiwxnc4znzktnteumty5ldi0lj另一种方法是用一种方法,一种是用另一种方法,另一种是另一种方法,另一种是另一种方法。另一种方法是用一种方法,一种是用一种方法,一种是用一种方法,一种是用一种方法。另一种是用一种方法。另一种是用一种方法。另一种是用一种方法。另一种是用一种方法,一种是用一种方法,一种是用一种方法,一种是一种方法,一种是用一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法,一种方法NI45OCW2MY4MMDEGICAGYZASNDMUNTU5LDIYLJE4MSW4MS45OTMSNTUUODM1LDEWNC40NZL第四、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四届、第四GICAGYY00MI45NDCSMZMUNJU0LTK3LJA5OSW1MY42NTUTMTU1LJKXNIW142NTVJLTEWLJEZ另一个是一个新的,另一个是一个新的。另一个是一个最大的一个。另一个是一个新的。另一个是一个新的。另一个是一个Ny4xODMxli5msWzntcumTg4ltm1N4xxODNxNxNxNxNxNxNxNxNyxNyxNxNxNyxNxNxNxNyxNxNxNyxNxNxNxNyxNyxMyxMyxMxWxMxWxWxWxWxNdWxNxNxNxNxNxNdNxWxNxNxNdNxNyxNxNyxNyxNyxNy4xGO8L2C+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=)}