Производительность JVM, настраивающаяся для крупных приложений

Это работает как прелесть:)

thanks jQuery.

function initMultiComplete() {
   jQuery('.maps-complete').each(function(){

    var id = jQuery(this).prop('id');
    var $this = jQuery(this);
    var parent = jQuery(this).parent('div');

    var jautocomplete = new google.maps.places.Autocomplete(document.getElementById(id), {types: ['geocode']});

    jautocomplete.addListener('place_changed', function ()    {

        var place = jautocomplete.getPlace();
        var address = $this.val();
        var lat = place.geometry.location.lat();
        var lng = place.geometry.location.lng();

        jQuery( '.maps-autocomplete-lat', parent ).val(lat);
        jQuery( '.maps-autocomplete-lng', parent ).val(lng);

    });

});
}

скрипт вызывает initMultiComplete как обратный вызов и загружается w / async defer:

https://maps.googleapis.com/maps/api/js?key=YOUR_KEY&libraries=places&callback=initMultiComplete
32
задан amit 19 February 2009 в 06:24
поделиться

5 ответов

Существуют большие количества той информации вокруг.

Первый, представьте код прежде, чем настроить JVM.

115-секундный, читайте документация JVM тщательно; существует много вида "городских легенд" вокруг. Например, - флаг сервера только помогает, если JVM остается резидентный объект и работает в течение некоторого времени; - сервер "поднимает" JIT/горячую точку, и это должно иметь, многие проходят через тот же путь, который будет поднят. - сервер, с другой стороны, замедляется начальное выполнение JVM, поскольку существует больше времени установки.

существует несколько хороших книг и веб-сайтов вокруг. Посмотрите, например, http://www.javaperformancetuning.com/

19
ответ дан 27 November 2019 в 20:34
поделиться

Посмотрите здесь (или сделайте поиск Google настройки горячей точки) http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html

, Вы определенно хотите представить свое приложение, прежде чем Вы попытаетесь настроить vm. NetBeans встроили хорошего профилировщика в него, который позволит Вам видеть все виды вещей.

я когда-то сделал, чтобы кто-то сказал мне, что GC был поврежден для их приложения - я посмотрел на код и нашел, что они никогда не закрывали ни одного из своих результатов запроса базы данных, таким образом, они сохраняли значительные количества массивов байтов. После того как мы закрыли результаты, время прошло из-за 20 минут и ГБ памяти приблизительно к 2 минутам и очень небольшому объему памяти. Они смогли удалить настраивающие параметры JVM, и вещи были счастливы.

7
ответ дан 27 November 2019 в 20:34
поделиться

Абсолютный лучший способ ответить на это состоит в том, чтобы выполнить управляемое тестирование на приложении в как близко к 'производственной' среде, поскольку можно создать. Довольно возможно, что использование - сервер, разумный стартовый размер "кучи" и относительно умное поведение недавнего JVMs будут вести себя также, или лучше, чем подавляющее большинство настроек можно было бы обычно пробовать.

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

1
ответ дан 27 November 2019 в 20:34
поделиться

Я предлагаю, чтобы Вы представили свое приложение с выборкой ЦП и объектным контролем выделения, включенным одновременно. Вы найдете, что получаете совсем другие результаты, которые могут быть полезными в настройке Вашего кода. Также попытайтесь использовать созданный в hprof профилировщике, это может дать совсем другие результаты также.

В общем профилировании Вашего приложения имеет намного больше значения, чем JVM args.

1
ответ дан 27 November 2019 в 20:34
поделиться

Это будет очень зависеть от Вашего приложения и поставщика и версии JVM. Необходимо согласиться с тем, что Вы считаете проблемой производительности. Вы обеспокоены определенными критическими разделами кода? Вы представили приложение уже? JVM проводит слишком много времени, собирая "мусор"?

я, вероятно, запустил бы с-verbose:gc опции JVM смотреть, как сборка "мусора" работает. Много раз, самая простая фиксация, чтобы просто увеличить макс. размер "кучи" с-Xmx. Если Вы будете учиться интерпретировать вывод-verbose:gc, то он скажет Вам почти всем, что необходимо знать о настройке JVM в целом. Но выполнение этого одного волшебно не сделает плохо настроенный код просто пойти быстрее. Большинство настраивающих опций JVM разработано для улучшения производительности сборщика "мусора" и/или емкостей памяти.

Для профилирования, мне нравится yourkit.com

0
ответ дан 27 November 2019 в 20:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: