Это обновление предыдущей статьи, опубликованной в октябре 2013. В том блоге, мы сравнили производительность консоли Salesforce в ряде браузеров: Internet Explorer 7/8/9, Chrome и Firefox. В выпусках блога с момента 2013 года, мы приложили значительные усилия, чтобы улучшить производительность Salesforce консоли. Особенно, начиная с релиза лета 2015, мы улучшили возможности тестирования производительности благодаря следующим изменениям:
Улучшено покрытие тестов: мы теперь регулярно тестируем производительность консоли для различных случаев использования. Например, с использованием и без использования компонентов боковой панели, первичных и дополнительных вкладок, различных типов действий пользователя, таких как открытие одной вкладки, одновременно с другими открытыми вкладками, а также тестированием различных сущностей, в том числе Account, Case, Opportunity, Lead и Contact.
Начиная с выпуска лета 2015 года мы закрепили временные рамки автоматического тестирования производительности консоли, что позволило нам выполнять тесты по ночам, чтобы покрыть увеличившееся число тестов на виртуальных машинах для шести браузеров: IE8, IE9, IE10, IE11, Chrome и Firefox. До лета 2015 года тесты производительности консолей проводились вручную и полуавтоматически, при этом, тесты производительности были автоматизированы с помощью сценариев, но сбор данных из памяти проводились вручную.
Улучшение покрытия тестированием и автоматизированния тестов позволило значительно сократить время для обнаружения и решения проблем с производительностью.
Ниже приведен пример сценариев, выбранных из ночных прогонов тестирования производительности консоли.
Характеристики памяти
Для проверки характеристик использования памяти каждого браузера, мы моделировали различные рабочие нагрузки. Мы моделировали стандартную нагрузку, образованную открытием и закрытием вкладки, а затем попробовали подобную нагрузку с помощью вложенных вкладок, и, наконец, стресс тест на нагрузку, который был основан на всплесках активности.
Сценарий 1: Имитация рабочих нагрузков Tab уровня
В этом случае мы имеем основную разметку страницы без каких-либо компонентов боковой панели консоли. В тесте открыта одна вкладка Account, которая затем закрывается через 20 секунд. Операция затем повторяется в течение 100 циклов, с общим количеством 100 вкладок, которые открываются и закрываются. Целью данного испытания является моделирование типичной рабочей нагрузки на первичном уровне вкладок. Ниже приведен график измеренного объема памяти, выделенного для браузера по сравнению с количеством открытых вкладок:
Как видно из графика, Chrome работает лучше всего в этом сценарии, с самым лучшим результатом объема памяти среди браузеров. Firefox имеет несколько более высокий объем памяти, который оставается стабильным во время тестового прогона, так и IE11. IE10 показывает умеренное увеличение объема памяти и IE9 является худшим среди 5 браузеров, у него видно более резкое увеличение объема памяти во время теста.
Сценарий 2: Симуляция рабочей нагрузки для подвкладок
Этот сценарий похож на сценарий 1 выше, за исключением того, что вместо первичной вкладки, мы открываем Account в качестве подвкладки. Целью данного испытания является моделирование типичной рабочей нагрузки на вложенной вкладке уровня вкладок.
Здесь мы также можем видеть Chrome и Firefox имеют лучшую производительность, за ними следует IE10 и IE11, в то время, как IE9 имеет наибольшее увеличение объема памяти.
Сценарий 3: Стресс-тестирование
В этом случае мы открываем 10 вкладок учетной записи одновременно, а затем закрываем их все через 20 секунд. Действие повторяется в течение 30 циклов, с общим количеством 300 вкладок. Целью данного теста является стресс тестирование при неравномерной нагрузке на первичном уровне вкладок.
Мы можем видеть, Chrome снова победитель, в нем объем памяти оставался стабильным на протяжении всего испытания, в то время как для IE9 / IE10 / IE11 видно значительное увеличение занимаемой браузером памяти . "Пульсирующий" характер открытия вкладки (открытие нескольких вкладок быстро в течение очень короткого периода времени), кажется, вызывает увеличие объема памяти у Firefox.
Время запуска консоли
В блоге 2013 мы также измерили "Время запуска консоли", а также время, необходимое для загрузки вкладки после 300 повторений открытия / закрытыя. Соответствующие измерения, были выполненны для выпуска зима 2016 года следующими результатами:
Время запуска консоли (сек)
Браузер | Время запуска (сек) | ||
---|---|---|---|
IE9 | 15 | 15 | 16 |
IE10 | 6.7 | 7.7 | 7.7 |
IE11 | 6.2 | 5.5 | 6.7 |
Firefox (40) | 8.5 | 7.9 | 8.7 |
Chrome (45) | 8.4 | 9.1 | 8.7 |
Время открытия 301-ой вкладки (после открытия и закрытия 300 вкладок)
IE9 | 2.8 |
IE10 | 2.3 |
IE11 | 2.5 |
Firefox (40) | 2.2 |
Chrome (45) | 1.8 |
Обратите внимание, что рост объема памяти браузера, является основным фактором, влияющим на производительность консоли. Если объем памяти браузера вырастает до очень большого значения, то время, которое требуется браузеру, чтобы сделать сбор мусора может значительно вырасти, что, в свою очередь, влияет на быстроту отклика. Так что до тех пор, пока объем памяти браузера остается небольшим, производительность консоли может оставаться хорошей.
Вывод
Из автоматизированных тестов запускаемых каждую ночь для ряда сценариев, представляющих типичное использование консоли, мы можем видеть, Chrome остается лучшим браузером. Он управляет памятью лучше, чем другие протестированные браузеры, а общий объем памяти остается в относительно низком диапазоне.
Обратите внимание, что существует большое количество факторов, влияющих на фактические показания объемов памяти для любого из проделанных тестов, так что показания, представленные выше, не являются сопоставимыми со значениями из блога 2013, даже если при испытании в тех же условиях. Показатели производительности консоли действительно показывают значительное улучшение в более поздних выпусках (лето 2015) и последующих, по сравнению с предыдущими версиями.