【问题标题】:Facebook application load and performance testingFacebook 应用程序负载和性能测试
【发布时间】:2012-03-29 14:14:32
【问题描述】:

所以我在应用程序负载测试中遇到了一些难题。当我创建与登录用户相对应的影子记录时,我的应用程序依赖于有效的 Facebook 登录。

如何在使用 Facebook 调用(而不是禁用)时加载测试我的应用程序。

我需要确保至少 100,000 个用户可以连接而不会陷入困境。

到目前为止,我的代码运行速度相当快,因为​​我平均预缓存了 1000 毫秒的负载。但我想在打开缓存之前再做一些负载测试。

我该怎么做?

从我所遇到的情况来看,似乎每个人都说只是关闭 Facebook 调用和负载测试,就好像应用程序是一个常规站点一样。另外,我遇​​到了一个叫做friendrunner的东西,它似乎可以解决我的问题。除了那里还没有人回复我。

【问题讨论】:

    标签: facebook performance load load-testing stress-testing


    【解决方案1】:

    你不能。或者更确切地说,你真的不应该而且可能无论如何也不能。在引入旨在防止合成(脚本)交互的措施时,Facebook 是更具侵略性的网站之一,如果您试图绕过这些措施,您可能会冒 Facebook 对您采取措施的风险(可能不合法,但他们肯定会暂停您的帐户如果您与他们有公司协议,那可能会很尴尬)。

    但这不应该是性能测试的问题。您只需要欺骗 Facebook 调用并专注于编写只调用您想要加载测试的服务器的脚本。这是任何项目的最佳实践。过去,我只是简单地使用随机字符串来模拟 Facebook 帐户 ID,如果您的应用程序需要来自帐户的某些用户信息,您将需要稍微更有创意并将其存根。据我所知,friendrunner 就是这样,一个 Facebook 存根。

    【讨论】:

    • 好吧,我发现在用户数量方面并不完全符合我的预期,但 facebook 确实豁免并允许每个应用最多 500 个用户,而不会发送垃圾邮件或“假帐户”developers.facebook.com/docs/test_users
    • 所以,澄清一下,这是一个新功能,您可以在其中创建 500 个不受常规检查的“测试”用户 - 这似乎是去年年底推出的。但是有一些限制,主要是围绕测试用户是孤立的并且无法与真实用户交互的事实。也就是说,如果您主要专注于自己的应用程序而不是 FB,那么您可能仍然会发现将 FB 排除在外更容易。将它们排除在外是有意义的。
    • 我与一位 facebook 开发人员进行了交谈,他们说 facebook 可能正在实施更好的测试方法,以确保应用程序在发布到生产环境后不必遇到负载墙。我接受了您的建议,关闭了 Facebook 通话,一切似乎都还不错。我还将云池设置为在达到一定使用量后自动生成新服务器。谢谢你的回答。
    猜你喜欢
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多