#ios #azure #azure-sql-database #azure-mobile-services
#iOS #azure #azure-sql-database #azure-mobile-services
Вопрос:
Я использую службу приложений Azure с уровнем ценообразования S1 и базу данных Azure SQL с уровнем ценообразования S1 для приложения iOS. Я выполнил следующие настройки для оптимизации синхронизации Azure DB.
- Созданные центры обработки данных службы приложений Azure и базы данных Azure одинаковы (Юго-Восточная Азия).
2. Увеличено количество экземпляров службы приложений до 2.
3. измените URL-адрес приложения на http вместо https.
4. создайте ИНДЕКС в perfomence insight.
5. изменен размер страницы с 50 на 1000.
6. создан новый фреймворк с возможностью повторного использования NSHttpUrlSession в iOS SDK
, но синхронизация базы данных по-прежнему занимает 14 секунд в 3G (для 1700 записей и 7 таблиц).
Можно ли еще оптимизировать производительность?
Комментарии:
1. Не уверен, в чем заключается ваш вопрос. Вы не предоставили никакой информации о деталях базы данных на стороне iOS. И мы понятия не имеем, насколько велики записи вашей базы данных. Но вы синхронизируете более 100 записей в секунду в соответствии с вашими данными. Кроме того, просто в сторону: весь мир переходит с http на https, а не в другом направлении.
2. В приложении iOS я использую CoreData с SQLite. Я извлекаю 1700 записей (7 таблиц).
3. Согласовано — нам нужна дополнительная информация о вашей базе данных. Кроме того, используете ли вы инкрементную синхронизацию? 14 секунд на 3G с таким количеством записей не кажутся необоснованными. Каковы ваши ожидания?
4. Да, мы используем инкрементную синхронизацию. При начальной загрузке приложения нам нужно вызвать pullWithQuery (для 1700 записей и 7 таблиц), и мы зависим от 3G. Внутреннее приложение мы используем mobilink (Sybase) для синхронизации базы данных. Это занимает всего 2 секунды.