gpt4 book ai didi

azure - 应用程序在 Azure 中消耗大量 API 调用

转载 作者:行者123 更新时间:2023-12-02 07:50:39 25 4
gpt4 key购买 nike

我在这里感到疲倦、悲伤和沮丧,感觉自己像个白痴。如果我的帖子太长并且组合得不好,我感到非常抱歉,但我请求任何有经验的人给我一些建议。

我目前正在测试我创建的一个应用程序,该应用程序可以让人们添加事件、搜索事件、发表评论并获得有关他们注册的事件发生变化的通知。我为此使用了 Azure 移动服务,一切似乎都运行良好。这对我来说主要是一个学习应用程序,因为我是一个菜鸟。

现在我们即将推出该应用程序,我已开始查看 Azure 中的数字。我现在使用的是免费版本,每天 16k api 调用是免费的(将在发布时转移到定价层) - 但这里的数字看起来完全没有问题!

每天有 2-3 台设备似乎运行 600-700 个 API 调用。当然,我确实努力运行测试应用程序,但我想有些用户可能会这样做。

因此 - 4% 的每日免费通话由 3 台设备消耗。这意味着 33 个用户可以满足配额,而第一级付费只能为 300 个用户提供空间。

我在这里读错了什么吗?那么我的应用程序不可行吗?我认为,即使我是菜鸟,它也有可能获得数千名用户。这是否意味着我必须去顶级?因为我负担不起。

转到问题的堆栈部分:

我登录用户,创建表格,然后当他们点击搜索时,我会执行如下操作:

                    eventenItemList = await eventenTable.Take (200).Where (item => item.Dateandtimeend >= DateAndTimeIn).
Where (item => item.Dateandtime <= DateAndTimeInEnd).
Where (item => item.Fylke == fylke).
Where (item => item.Pris <= MaksPris).ToListAsync ();

我希望这是一个 API 调用,但它似乎运行了数十个调用 - 就在那里?这怎么可能?

当用户不在应用程序中时,我在 Android 中运行后台服务,该服务会遍历用户创建的事件的本地数据库,然后检查该数据库是否有任何更改。我这样做是这样的:

        var table = db.Table<MyEvents> ();

foreach (var e in table) {
eventenItemList = await eventenTable.Where (item => item.Id == e.EventId).ToListAsync ();

if (eventenItemList.Count == 0) {

} else {
//I here notify the user that something new is up - and what it is. Time changed, comments or whatever.

我猜这对我来说很愚蠢,因为它可能会为这里的每个循环调用一个 API ?但从数字来看,它似乎只进行了 2 次调用——正如我所期望的那样。

各位,我在这里迷失了方向。今天晚上,我在该应用程序上随机点击了大约一百次,并累计了超过 1500 个 API 调用。从那时起我就一直冒冷汗。任何有关此 api 调用系统如何工作的建议或信息将不胜感激。

最佳答案

我没有一个简单的答案给你,但不要 panic !

1) 了解您正在进行的 API 调用。 查看您提出的请求。我相信一切最终都是对 REST API 的调用,因此您可以将查询逆向工程为您的抽象。这将是关键的一步。

2)理解你的抽象。 Linq 是一个基于各种事物的巨大抽象。这提供了巨大的力量,但也存在在心理上过度简化你正在做的事情的成本的危险。您实际上对后备存储进行哪些查询?它是否正确地击中了高效键,或者您是否通过表扫描进行分页? (假设这样的事情存在,我不知道)。这会循环回到 #1。

3) 一旦您了解查询如何影响 API 调用,您将获得开始解决问题所需的数据。

事实上,您知道您使用的 API 调用比您预期的要多得多。你知道这个。现在是时候弄清楚如何优化它以及优化哪些内容。 :)

关于azure - 应用程序在 Azure 中消耗大量 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28685710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com