- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在运行一个基于 GWT+GAE 的游戏,其中包含许多静态图像文件(约 25MB,大部分打包为 JS GWT 包)。我们目前有大约 450 名每日活跃用户,每天大约有 30 名注册用户。自几周以来,这个数字非常稳定。他们最多每天产生大约 10GB 流量。但上周发生了一件非常奇怪的事情:在一周的中间,即 11 月 19 日,使用量增加到超过 40GB,此后一直保持在这个水平上。
几天以来我一直在调查它,但到目前为止没有任何结果 - 所以我需要你的帮助和想法,因为计费支持忽略了我。
事实:
日期/DAU/带宽
15.11/385/6.5GB
16.11/585/9GB
17.11/660/10GB
18.11/451/12GB
19.11/455/46 GB
20.11/438/42 GB
21.11/429/44 GB
传出带宽大幅增加,但当我们检查仪表板中的图表时,并不清楚为什么会发生这种情况(由于这里是新的,无法直接发布图片 - 抱歉):
http://i.stack.imgur.com/HPfdV.jpg
19日,我们没有部署新版本,也没有更改应用的配置。
我们还检查了与带宽相关的组件(blob、邮件、 channel api)但那天什么都没有改变。
接下来,我下载了所有天的日志并汇总了所有响应大小,我得到了以下结果:
18.11:3.9GB
19.11:4.2GB
20.11:3.8GB
21.11:4.1GB
除了总大小和传出带宽之间的巨大差异外,日志中的大小在 19 号之后也相当稳定。我现在不知道我还应该在哪里寻找答案。哪些未记录的服务可能会导致此类行为?
编辑 28.11:然后我将应用程序部署在其他应用程序 ID 上并进行了一些“单元”测试:
客户端:Firebug 测得约 20MB 下载(一些图像和 JS)
服务器端:在日志中,资源的每个 GET 响应大小为 0,状态为 200 (...3.cache.js HTTP/1.1"200 0 ...) 并且一个游戏 session 的总大小根据到日志是 715kB。
App Engine 仪表板:传出带宽 0.11GB!
AppStats:无 urlFetch,几个 channel API 发送消息 - 没什么特别的。
尝试了 3 个浏览器并累积了 0.33GB 传出带宽,尽管日志显示为 2.5MB,根据客户端的总和结果约为 65MB(我的预期)。缓存似乎有效,自从第二次加入以来,根据 Firebug,我只下载了 30kB,而且在这种情况下,仪表板中的带宽计数器也没有上升。
非常感谢任何帮助和想法!
2013 年 12 月 10 日编辑:正如我在答案中所写 - 该错误现已修复。此外,我还尝试了 CloudFlare,因此我们昨天的带宽使用量为 3.5GB(是的,1/12)!由于我们的应用程序是一款游戏,因此包含很多静态内容,因此 cloudfalre 为我们节省了 75% 的静态文件带宽和 66% 的请求。延迟没有改变。看起来很有前途:)
最佳答案
提交工单后(必须购买白银支持包),谷歌分析了问题,确实是应用程序引擎中的错误,导致日志中的实际带宽使用情况与仪表板中的计费值之间存在差异。现在已经解决了。
关于google-app-engine - 由于某些无法解释的原因,传出带宽增加了 4 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20254790/
我在一个项目中工作,该项目需要 SQL 结果的最佳性能,并且希望优化查询,但经过反复试验后,我在 IN 方面遇到了一些问题。 -- THIS RETURNS NO RESULTS AT ALL. SE
在尝试创建一个实际上非常简单的 SQL 语句时,我发现自己迷失了方向。 我有一个包含 3 个表的数据库: 食谱 - 存储一些用于 cooking 的食谱名称 配料食谱 - 将配料与食谱链接 成分 -
我正在尝试理解 PHP 中的 Hebrev 函数。 https://php.net/manual/en/function.hebrevc.php 它说:“将逻辑希伯来语文本转换为视觉文本”。但我不明白
嗨,我在 Grid view 的 android 文档中发现了一段代码对于以下代码。 gridview.setOnItemClickListener(new OnItemClickListener()
谁能解释一下 InfiniBand 是什么?与以太网相比的主要区别是什么,这些差异如何使其比以太网更快? 在官方description从 mellanox 写到 Introduce InfiniBan
这个问题已经有答案了: How are java increment statements evaluated in complex expressions (1 个回答) 已关闭 8 年前。 我知道
我正在阅读 MySQL 教程,我遇到了这个: SELECT /*! SQL_NO_CACHE */ user FROM users; 为什么优化提示 SQL_NO_CACHE 包含在: /*!
我无法理解$(this),我做了一个剪刀石头布的版本,并应用了 jQuery 让用户在计算机上选择按钮选项。我希望有人能解释一下 $(this) 指的是什么,它是 btn-primary 吗?该函数在
我不是很确定 while(choice == 1 || choice ==2);谁能解释一下。我明白这一点 if(choice ==1) displayMonthly(rainfall); e
let flyRight = CABasicAnimation(keyPath: "position.x") flyRight.toValue = view.bounds.size.width/2 f
目录 解释:int型默认值为0 但我们尝试发现并不能通过: 原因: int的默认值为0,而Integer的默认值为null
我正在处理一个查询,自从一个 SSRS 服务器传输到另一个服务器后,它似乎没有按预期执行,并且 where 语句的一部分中出现了以下行 找出不同之处,或者至少从我能找到的地方来看。 where COA
我正在制作一个退回检测程序,读取退回邮件。我们的设置是发送电子邮件,在发送的邮件中添加一个 noreply@domain.tl。一些收件人不再存在,因此我们想要读取退回邮件,并检测它发送给谁。我已经崩
我有一个关于公式通过控制点弯曲的问题。 如您所知,HTML Canvas 有 quadraticCurveTo(x1, y1, x2, y2)与 x1 and x2作为控制点。 但是,当您尝试使用它绘
我有一个 Emakefile看起来像: %% -- %% %% -- {'/Users/user/projects/custom_test/trunk/*', [debug_info, {out
我有一个非常简单的问题。这不仅适用于 spray-json,而且我已经阅读了 argonaut 和 circe 的类似声明。所以请赐教。 在 spray-json 中,我遇到了 There is no
我正在为视频添加水印。我试图让水印与视频尺寸成比例。我已经使用 scale2ref 看到了十几个不同的答案,但没有解释实际发生了什么,所以我发现很难知道如何实现/更改配置以适应我的情况。 当前覆盖命令
因为我正在学习语言,所以我在玩 Haskell,我只是发现了一些我不理解的东西,我找不到解释。如果我尝试运行此代码: map (`div` 0) [1,2,3,4] 我得到一个除以 0 的异常,这是预
我正在寻找解决错误对象引用未设置到对象实例的步骤/指南。以及问题发生原因的解释。 我正在寻找更一般的解释,所以如果我收到错误,我应该采取什么步骤来查找问题。我经常看到有人提供特定代码段的帖子,而其他人
我最近想升级我的知识React ,所以我从组件生命周期方法开始。让我好奇的第一件事是这个componentWillReceiveProps .所以,文档说当组件接收新的(不一定是更新的) Prop 时
我是一名优秀的程序员,十分优秀!