Я использую, в спящем режиме для работы над новым проектом, и поскольку я работаю, я понимаю, что мое исходное видение для приложения не может закончить тем, что было своей судьбой. Данные, что я думаю, часто не будут требуемыми (и таким образом лениво загруженный) мог бы закончить тем, что был необходим для 85% запросов. С другой стороны данные, которые я загружаю под предположением, это будет необходимо, могло бы оказаться, не были бы необходимы так часто, как я думаю, что это будет.
Есть ли некоторый профильный инструмент или метод анализа использования ORM (конкретно: Будьте в спящем режиме), который может помочь мне настроить свое приложение после того, как оно достигло критической массы?
Единственная вещь, которая приходит на ум, состоит в том, чтобы записать некоторые сценарии Селена, которые подражают фактическому использованию и действительно загружают тестирование различными конфигурациями. Это кажется, что могло бы работать, но также и чувствует себя подобно очень окольному способу получить информацию, которая я после. Должен быть лучший путь...
Добавление заголовочных файлов в так называемую папку "Header Files" является необязательным. Даже без этого вы можете просто указать путь к заголовку в "Project- > Properties - >".... и он все равно будет работать.
Вы можете думать с точки зрения только заголовочных файлов вашего проекта, которые можно добавить в папку "Заголовочные файлы", а что можно сказать о большом проекте, имеющем несколько сторонних библиотек, вы определенно не можете идти и продолжать добавлять каждый заголовочный файл в вашу папку.
Таким образом, чтобы сохранить все компоненты унифицированными в одной конфигурации, этот способ должен быть выбран.
Все вышеперечисленное - это только мое понимание. У меня нет доказательств, подтверждающих это. Итак, мои извинения заранее - это неправильно. Не засыпать меня Downvotes пожалуйста.:)
-121--4268411-Используйте "NSURLConnection асинхронно" для поиска термина, и вы найдете источник. Или просто NSURLConnection.
Например:
NSURLConnection NSURLRequest прокси для асинхронных вызовов веб-служб
-121--434944-Есть ли средство профилирования или метод анализа использования ORM (в частности: Hibernate), которые могут помочь мне настроить приложение после достижения Критическая масса?
Hibernate 3 сбора статистики во время выполнения. Возможно, стоит взглянуть. В спящем документе имеется раздел " Мониторинг производительности ".
Единственное, что приходит на ум - чтобы написать некоторые сценарии Selenium, которые имитировать фактическое использование и выполнять нагрузочное тестирование с конфигурациями. Похоже, что это может работать, но также чувствует себя очень кругосветный способ получения Информация, которую я хочу получить.
Сначала необходимо попытаться зафиксировать реальную рабочую нагрузку. Тогда придумайте, как его воспроизвести.
В противном случае вы все еще будете предвзяты и можете создать нагрузку, которая на самом деле в любом случае не представляет реальность. Если вы не можете зафиксировать реальную рабочую нагрузку, обсудите с потенциальными конечными пользователями, как они используют приложение, и убедитесь, что ваш сценарий максимально приближен к реальному поведению конечных пользователей.
«... помочь мне настроить мое приложение после того, как оно достигнет критической массы?»
Это важно.
Вы настраиваете свое приложение - в целом. Приложение + структура базы данных + сопоставления ORM Hibernate + все остальное.
В вашем приложении должны быть журналы, которые вы можете использовать для настройки своего приложения. Если у вас нет подходящего журнала, сейчас самое время добавить соответствующий набор журналов, чтобы определить, какие варианты использования используются и что происходит.
Журналы настройки так же важны, как и журналы отладки. И они первоклассная часть вашего приложения.
Используйте профилировщик / регистратор SQL вашей базы данных, чтобы следить за производственной базой данных. Следите за запросами с отложенной загрузкой или часто повторяющимися запросами, которые могут указывать на проблему N + 1 (повторение ленивой коллекции, загрузка каждого объекта по отдельности).
Мне неизвестен (какой-либо) ORM, который предоставляет такую возможность.
Нет, рубин не поддерживает это (ни в 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.
Его можно использовать в системе непрерывной интеграции.