2015-12-09 2 views
0

Недавно я применил мое приложение к Bluemix. В настоящее время настройки 256 МБ памяти и 1 экземпляр. Что бы вы предложили увеличить/изменить, чтобы повысить производительность? На данный момент главная страница занимает 8-15 секунд для загрузки, а вызовы ajax - не менее 5 секунд. Приложение довольно интенсивно работает по HTTP-запросам (ajax-вызовы), однако сами вызовы являются относительно простыми сценариями. Я просто ищу какую-то уверенность в том, что я должен изменить, и что я должен изменить, чтобы увидеть лучшую производительность.Сделать приложение Bluemix быстрее

Спасибо,

-

EDIT:

Передний конец приложения записывается в React.js и некоторые JQuery. Бэкэнд - это PHP и усы (для представлений), и мы используем SQL. Большинство запросов AJAX обрабатываются React.js - он обрабатывает запросы JSON различного размера.

+0

Вам нужно предоставить более подробную информацию о приложении, его архитектуре и о том, какие запросы он делает в фоновом режиме. Тогда можно обсудить стратегии кэширования, оптимизацию кода, настройку сети, назначение ресурсов и т. Д. –

+0

@data_henrik Спасибо за ответ, см. Мое редактирование. –

ответ

1

Я не думаю, что увеличение вашей памяти или экземпляров будет иметь большое влияние на производительность пользовательского интерфейса, если узким местом является ваше время ответа на запрос AJAX.

Используйте браузер Opera для мониторинга вкладки Сетевая активность. Посмотрите, какие из ваших запросов AJAX занимают самое длинное время, чтобы ответить и решить их в первую очередь. Подтвердите, что вы не форсируете кеш-память. Избегайте вызывать один и тот же URL несколько раз - вместо этого сохраните результат в javascript и повторное использование.

Запросы базы данных, как правило, являются узким местом для большинства приложений. Используйте службы кеширования, такие как кэш-память Bluemix или кеш памяти, чтобы не переходить в базу данных несколько раз за запрос.

1

Я рекомендую атаковать двумя способами.

  • стороне сервера Bluemix
  • Сетевая сторона

стороне сервера Bluemix Так как ваш работают 256MB памяти, он может ударить проблемы с памятью. http://plugins.cloudfoundry.org/ui/ Плагин для мониторинга вашего приложения. Таким образом, вы можете контролировать использование процессора и памяти приложений во время теста. См. Эту страницу для получения более подробной информации: https://github.com/danhigham/cf-live-stats

Сетевая сторона Bluemix находится в США/Великобритании/Австралии. Существует значительная латентность, если вы живете за пределами этих стран. Похоже, есть много вызовов (ajax), латентность может быть проблемой. Попробуйте проверить с помощью средства мониторинга сетевого трафика (например, BuzZilla или базовая версия HttpWatch). Если это так. Ваше приложение нуждается в твиках, чтобы часто не вызывать логику сервера.

В любом случае, первым, что вам нужно попробовать, является мониторинг сервера и сети.

+0

Спасибо за ответ! Мы в Южной Америке, поэтому латентность не должна быть слишком большой проблемой здесь. Какая услуга называется внутри панели инструментов Bluemix, которую можно использовать для ее мониторинга? –

+1

Привет Live-Stat - плагин интерфейса командной строки Cloud Foundry. Кроме того, вы можете сделать это вручную.Например, получает Guid вашего приложения на '$ сра приложении --guid <справы будут распечатать здесь>' И их, запустите '$ сравни локон/v2/приложение/<:guid>/stats' это даст использование так: ' "использование": { "времени": "2015-12-11 1:22:07 +0000", "CPU": 0,0, "mem": 62070784, "диск": 63811584 ' – ibmamnt

Смежные вопросы