首页 文章

Google通讯录API速度慢

提问于
浏览
0

我们的CRM产品几年来一直在使用Google通讯录和Google Calendar API . 一切都很好,直到今天早上8点,我们特别注意到在向Contacts API执行基本REST命令时出现了大量延迟 .

例如,我刚刚使用API创建了Google联系人,需要4分钟才能做出响应 . 然而,它确实在4分钟后创建了联系 .

我的问题是 - 是否有某种DDS挫败算法可能会造成这些延迟? API在过去24小时内有变化吗?我进入了Google Developer Console,看到谷歌日历中有许多已成功通话的记录 . 对于Google Contacts API,我看到有0个已记录的来电 . 不确定这是否与问题有关,但想提及以防万一 .

我正在使用google-api-php-client(版本来自2012年3月6日)

我们最终没有做出任何改变 - 但我们的客户现在看到了超时 . 我能够跟踪代码并发现问题是当我们发出这样的GET时:

https://www.google.com/m8/feeds/contacts/default/full/?showdeleted=false&max-results=200&start-index=2&key=AIzaSyB4yjI1dfHt-nMmtbk0JUFMqgQzlrRFUlQ

使用curl_exec()

我们正在使用0.5版本的PHP API进行调用,虽然我也测试了1.x版本并遇到了同样的问题 . 我为CURL设置了一个超时值并得到了这个错误:

异常HTTP错误:(200)操作在100000毫秒后超时,收到73931字节

我也能够做一个curl_getinfo()并把它拿回来:

[url] => https://www.google.com/m8/feeds/contacts/default/full/?showdeleted=false&max-results=200&start-index=2&key=AIzaSyB4yjI1dfHt-nMmtbk0JUFMqgQzlrRFUlQ [content_type] => application / atom xml;字符集= UTF-8; type = feed [http_code] => 200 [header_size] => 550 [request_size] => 387 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 99.94964 [namelookup_time] = > 0.03171 [connect_time] => 0.050253 [pretransfer_time] => 0.116627 [size_upload] => 0 [size_download] => 87801 [speed_download] => 878 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0.387812 [redirect_time] => 0 [redirect_url] => [primary_ip] => 74.125.141.104 [certinfo] =>数组()

[primary_port] => 443
[local_ip] => 199.230.52.14
[local_port] => 53914

看起来很不寻常的是speed_download . 这非常慢!

斯科特 .

2 回答

  • 0

    好的,我能够将问题跟踪到服务器本身 . 我与托管公司进行了交谈,当他们重新定位服务器时,他们将以太网端口设置为半双工 . 他们切换到全双工,现在一切正常 . 所以,这是一个硬件问题 .

  • 1

    根据您的描述,我会想到一堆东西 . 请阅读下面的内容,我将尝试列出所有可能的内容,以帮助:

    您是否检查过开发人员控制台,看看您是否可能达到了Contacts / Calendar API的配额限制(我知道您在那里看到了联系人的0,但是有奇怪的行为)?既然你提到你已经使用这两种API几年了,这将是我的第一个建议 . 即使您可能没有达到每日配额限制,也可能达到每秒配额限制,在这种情况下修复很简单 - 从开发人员控制台增加每秒配额/用户值 . 如果你可能同时遇到这两种情况,你也可以轻松地从开发者控制台请求更高的配额 .

    但是,通常强烈建议您使用Exponential Back-off Algorithm来减少获得成功响应所需的请求数,并最大限度地提高并发环境中请求的吞吐量 .

    虽然我不确定为什么你会看到针对你的Contacts API记录的0个电话 . 一个建议是检查你是否're checking the correct project or maybe have used the key/Client secret created from another app in the Developer'控制台 . 如果问题仍然存在,我建议报告here或通过开发人员控制台联系支持 .

    最后但并非最不重要,请确保您没有使用Contacts API的已弃用的version .

相关问题