Оптимизация основанного на ORM образцового постзапуска

Я использую, в спящем режиме для работы над новым проектом, и поскольку я работаю, я понимаю, что мое исходное видение для приложения не может закончить тем, что было своей судьбой. Данные, что я думаю, часто не будут требуемыми (и таким образом лениво загруженный) мог бы закончить тем, что был необходим для 85% запросов. С другой стороны данные, которые я загружаю под предположением, это будет необходимо, могло бы оказаться, не были бы необходимы так часто, как я думаю, что это будет.

Есть ли некоторый профильный инструмент или метод анализа использования ORM (конкретно: Будьте в спящем режиме), который может помочь мне настроить свое приложение после того, как оно достигло критической массы?

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

6
задан Adam Tuttle 5 February 2010 в 15:06
поделиться

4 ответа

Добавление заголовочных файлов в так называемую папку "Header Files" является необязательным. Даже без этого вы можете просто указать путь к заголовку в "Project- > Properties - >".... и он все равно будет работать.

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

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

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

-121--4268411-

Используйте "NSURLConnection асинхронно" для поиска термина, и вы найдете источник. Или просто NSURLConnection.

Например:

NSURLConnection NSURLRequest прокси для асинхронных вызовов веб-служб

-121--434944-

Есть ли средство профилирования или метод анализа использования ORM (в частности: Hibernate), которые могут помочь мне настроить приложение после достижения Критическая масса?

Hibernate 3 сбора статистики во время выполнения. Возможно, стоит взглянуть. В спящем документе имеется раздел " Мониторинг производительности ".

Единственное, что приходит на ум - чтобы написать некоторые сценарии Selenium, которые имитировать фактическое использование и выполнять нагрузочное тестирование с конфигурациями. Похоже, что это может работать, но также чувствует себя очень кругосветный способ получения Информация, которую я хочу получить.

Сначала необходимо попытаться зафиксировать реальную рабочую нагрузку. Тогда придумайте, как его воспроизвести.

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

1
ответ дан 17 December 2019 в 18:15
поделиться

«... помочь мне настроить мое приложение после того, как оно достигнет критической массы?»

Это важно.

Вы настраиваете свое приложение - в целом. Приложение + структура базы данных + сопоставления ORM Hibernate + все остальное.

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

Журналы настройки так же важны, как и журналы отладки. И они первоклассная часть вашего приложения.

1
ответ дан 17 December 2019 в 18:15
поделиться

Используйте профилировщик / регистратор SQL вашей базы данных, чтобы следить за производственной базой данных. Следите за запросами с отложенной загрузкой или часто повторяющимися запросами, которые могут указывать на проблему N + 1 (повторение ленивой коллекции, загрузка каждого объекта по отдельности).

Мне неизвестен (какой-либо) ORM, который предоставляет такую ​​возможность.

0
ответ дан 17 December 2019 в 18:15
поделиться

Нет, рубин не поддерживает это (ни в 1.8, ни в 1.9).

-121--5086161-

django way:

from django.http import HttpResponseRedirect
from django.utils.http import urlquote

return HttpResponseRedirect(u'/page/?title=%s' % urlquote(query_string))
-121--4244675-

Профилировщик спящего режима Hibernate Profiler может создавать динамические отчеты из статистики времени работы спящего режима. Генерируются различные предупреждения, такие как предупреждение о SELECT N + 1.

Его можно использовать в системе непрерывной интеграции.

1
ответ дан 17 December 2019 в 18:15
поделиться
Другие вопросы по тегам:

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