【问题标题】:Make Bluemix App Faster使 Bluemix 应用程序更快
【发布时间】:2015-12-09 00:03:51
【问题描述】:

我最近将我的应用程序部署到了 Bluemix。目前,设置为 256mb 的内存和 1 个实例。你会建议增加/改变什么以获得更好的性能?现在主页需要 8-15 秒来加载,而 ajax 调用至少需要 5 秒。该应用程序在 HTTP 请求(ajax 调用)上非常密集,但是调用本身是相对简单的脚本。我只是在寻找一些关于我应该改变什么以及应该改变什么以获得更好的性能的指导。

谢谢,

--

编辑:

应用程序的前端是用 React.js 和一些 jQuery 编写的。后端是 PHP 和 mustache(用于视图),我们使用 SQL。大多数 AJAX 请求都由 React.js 处理——它发出大小不一的 JSON 请求。

【问题讨论】:

  • 您需要提供有关应用程序、其架构以及它在后台发出什么样的请求的更多详细信息。然后可以讨论缓存策略、代码优化、网络配置、资源分配等。
  • @data_henrik 感谢您的回复,请查看我的编辑。

标签: performance time server load ibm-cloud


【解决方案1】:

如果瓶颈是 AJAX 请求响应时间,我认为增加内存或实例不会对 UI 性能产生太大影响。

使用您的浏览器开发者工具来监控“网络活动”选项卡。查看您的哪些 AJAX 请求花费了最长的时间来响应并首先处理这些请求。确认您没有强制使用无缓存。避免多次调用同一个 URL - 而是将结果保存在 javascript 中并重复使用。

数据库查询往往是大多数应用程序的瓶颈。使用 Bluemix 数据缓存或内存缓存等缓存服务,以避免每个请求多次访问数据库。

【讨论】:

    【解决方案2】:

    我推荐两种攻击方式。

    • Bluemix 服务器端
    • 网络端

    Bluemix 服务器端 由于您正在运行 256MB 内存,因此可能会遇到内存问题。 http://plugins.cloudfoundry.org/ui/ 有一个插件可以监控您的应用程序。这样,您可以在测试期间监控应用程序 CPU 和内存使用情况。更多详情请参考此页面:https://github.com/danhigham/cf-live-stats

    网络端 Bluemix 在美国/英国/澳大利亚托管。如果您居住在这些国家/地区之外,则会有很大的延迟。看起来有很多调用(ajax),延迟可能是个问题。尝试使用网络流量监控工具(例如 BuzZilla 或 HttpWatch 基础版)进行检查。如果是这样的话。您的应用程序需要 tweeks 才能不频繁调用服务器逻辑。

    不管怎样,你首先需要尝试的是监控服务器和网络。

    【讨论】:

    • 感谢您的回复!我们在美国南部,所以延迟在这里应该不是太大的问题。 Bluemix 仪表板中调用的可用于监控它的服务是什么?
    • Hi Live-Stat 是 Cloud Foundry 命令行界面插件。或者,您可以手动进行。例如,通过$ cf app <yourapp> --guid <guid will be print out here> 获取您的应用程序的guid,然后运行$ cf curl /v2/apps/<:guid>/stats 它将给出这样的用法:` "usage": { "time": "2015-12-11 01:22:07 +0000 ", "cpu": 0.0, "mem": 62070784, "disk": 63811584 `
    猜你喜欢
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 2017-08-14
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多