2013-05-10 1 views
1

Hi Simperium Developers.Simperium Updates «Замораживание» устройство до конца

Я создаю приложение iOS, используя вашу платформу данных, поскольку я углубляюсь в окончательное тестирование. Я вижу эту проблему, поскольку количество coredata увеличивает приложение «зависает», поскольку оно обновляется.

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

Так я вижу следующее в Log

Simperium enqueuing 253 запросов объектов (PeopleModel)

Simperium enqueuing 301 запросов объектов (SeatsModel)

Simperium enqueuing 139 запросов объектов (KeywordModel)

и т.д.

У меня около 20 сущностей всего

Затем приложение зависло пользовательский интерфейс, пока я не вижу

Simperium закончил индекс обработки для PeopleModel

Simperium закончил индекс обработки для SeatsModel

Simperium закончил индекс обработки для KeywordModel

Там может быть много минут ожидания между сообщениями очереди и фишингом.

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

Что я могу сделать/изменить в моем приложении IOS, чтобы освободить остальную часть приложение для продолжения обработки ...?

ПОМОЩЬ!

Приветствие

Steve

Привет Майк,

Спасибо за быстрый ответ, добавляющее useWebsockets появляется, чтобы сделать вещи немного лучше. На небольших обновлениях это определенно помогло. Но когда я выполняю основную синхронизацию (то есть сценарий, когда пользователь синхронизирует набор данных, который существует в облаке уже, например, когда они связывают новое устройство, и данные уже существуют), я вижу одно и то же «зависание» поведения, затем получил этот CRASH:

Simperium WebSocket произошла ошибка ошибки домен = org.lolrus.SocketRocket Code = 2145 "ошибка записи в поток" UserInfo = 0x28b85f60 {NSLocalizedDescription записи = ошибка на поток} 2013-05-13 19:29 : 56,898 MeetingPad [652: 907] * - [SRWebSocket отправить]: сообщение, отправленное высвобождены например 0x1d172bc0

Я попытался тест более 3 раз, но я не видел ошибку WebSocket выше снова ... так возможно, не имеет значения.

My coredata имеет размер около 2,4 МБ - вот полный вывод консоли, больше мыслей будет оценено ... Я был бы рад всплывать сообщение пользователю, просто говоря «Syncing Please Wait», но я «м не знает, как знать, когда синхронизация завершена, чтобы удалить сообщение .....

2013-05-13 20:09:37.367 MeetingPad[897:907] Init DropBox 
2013-05-13 20:09:37.575 MeetingPad[897:907] Init MPIAPHelper 
2013-05-13 20:09:37.588 MeetingPad[897:1803] NETWORK REACHABLE! 
2013-05-13 20:09:37.676 MeetingPad[897:907] Simperium error: bucket list not loaded. Ensure Simperium is started before any objects are fetched. 
2013-05-13 20:09:37.702 MeetingPad[897:907] Simperium error: bucket list not loaded. Ensure Simperium is started before any objects are fetched. 
2013-05-13 20:09:37:928 MeetingPad[897:907] Simperium didn't find an existing auth token 
2013-05-13 20:09:37:956 MeetingPad[897:907] Simperium starting... 
2013-05-13 20:09:37:960 MeetingPad[897:907] Simperium loaded 21 entity definitions 
2013-05-13 20:09:37.977 MeetingPad[897:907] Simperium managing 0 ActionLinks82 object instances 
2013-05-13 20:09:38.000 MeetingPad[897:907] Simperium managing 1 Relationship1Model82 object instances 
2013-05-13 20:09:38.004 MeetingPad[897:907] Simperium managing 0 AttendeeModel82 object instances 
2013-05-13 20:09:38.010 MeetingPad[897:907] Simperium managing 0 ClipModel82 object instances 
2013-05-13 20:09:38.015 MeetingPad[897:907] Simperium managing 0 ShapesModel82 object instances 
2013-05-13 20:09:38.020 MeetingPad[897:907] Simperium managing 0 SeatModel82 object instances 
2013-05-13 20:09:38.026 MeetingPad[897:907] Simperium managing 0 AgendaItemModel82 object instances 
2013-05-13 20:09:38.031 MeetingPad[897:907] Simperium managing 0 PointsModel82 object instances 
2013-05-13 20:09:38.036 MeetingPad[897:907] Simperium managing 0 AgendaItemVersionModel82 object instances 
2013-05-13 20:09:38.040 MeetingPad[897:907] Simperium managing 0 Relationship2Model82 object instances 
2013-05-13 20:09:38.044 MeetingPad[897:907] Simperium managing 0 ImagesModel82 object instances 
2013-05-13 20:09:38.054 MeetingPad[897:907] Simperium managing 1 SeatingPlanModel82 object instances 
2013-05-13 20:09:38.075 MeetingPad[897:907] Simperium managing 0 NoteLink82 object instances 
2013-05-13 20:09:38.080 MeetingPad[897:907] Simperium managing 0 RecordingModel82 object instances 
2013-05-13 20:09:38.085 MeetingPad[897:907] Simperium managing 0 ActionsModel82 object instances 
2013-05-13 20:09:38.089 MeetingPad[897:907] Simperium managing 0 KeywordLinks82 object instances 
2013-05-13 20:09:38.093 MeetingPad[897:907] Simperium managing 0 PeopleLinks82 object instances 
2013-05-13 20:09:38.098 MeetingPad[897:907] Simperium managing 0 EvernoteDeletions82 object instances 
2013-05-13 20:09:38.105 MeetingPad[897:907] Simperium managing 6 StylesModel82 object instances 
2013-05-13 20:09:38.107 MeetingPad[897:907] Simperium managing 1 NotesModel82 object instances 
2013-05-13 20:09:38.111 MeetingPad[897:907] Simperium managing 0 PeopleModel82 object instances 
2013-05-13 20:09:38:116 MeetingPad[897:907] Simperium didn't find an existing auth token 
2013-05-13 20:09:54:931 MeetingPad[897:907] Simperium authenticating: https://auth.simperium.com/1/wqqewweqeqw-disabeqweqwilities-33we2/authorize/ 
2013-05-13 20:09:56:010 MeetingPad[897:907] Simperium authentication success! 
2013-05-13 20:09:56.150 MeetingPad[897:907] Reachability Flag Status: -R ------- networkStatusForFlags 
2013-05-13 20:09:56:151 MeetingPad[897:907] Simperium starting network managers... 
2013-05-13 20:09:56.151 MeetingPad[897:907] Opening Connection... 
2013-05-13 20:09:57:855 MeetingPad[897:907] Simperium processing 106 objects from index (ClipModel82) 
2013-05-13 20:09:57:878 MeetingPad[897:907] Simperium enqueuing 106 object requests (ClipModel82) 
2013-05-13 20:09:58:069 MeetingPad[897:907] Simperium processing 290 objects from index (AttendeeModel82) 
2013-05-13 20:09:58:124 MeetingPad[897:907] Simperium enqueuing 290 object requests (AttendeeModel82) 
2013-05-13 20:09:58:173 MeetingPad[897:907] Simperium processing 223 objects from index (ShapesModel82) 
2013-05-13 20:09:58:175 MeetingPad[897:907] Simperium processing 28 objects from index (ImagesModel82) 
2013-05-13 20:09:58:176 MeetingPad[897:907] Simperium processing 47 objects from index (Relationship2Model82) 
2013-05-13 20:09:58:196 MeetingPad[897:907] Simperium enqueuing 47 object requests (Relationship2Model82) 
2013-05-13 20:09:58:205 MeetingPad[897:907] Simperium enqueuing 28 object requests (ImagesModel82) 
2013-05-13 20:09:58:232 MeetingPad[897:907] Simperium processing 100 objects from index (Relationship1Model82) 
2013-05-13 20:09:58:234 MeetingPad[897:907] Simperium enqueuing 223 object requests (ShapesModel82) 
2013-05-13 20:09:58:256 MeetingPad[897:907] Simperium enqueuing 100 object requests (Relationship1Model82) 
2013-05-13 20:09:58:276 MeetingPad[897:907] Simperium processing 250 objects from index (ActionLinks82) 
2013-05-13 20:09:58:322 MeetingPad[897:907] Simperium processing 251 objects from index (SeatingPlanModel82) 
2013-05-13 20:09:58:348 MeetingPad[897:907] Simperium enqueuing 250 object requests (ActionLinks82) 
2013-05-13 20:09:58:378 MeetingPad[897:907] Simperium enqueuing 251 object requests (SeatingPlanModel82) 
2013-05-13 20:09:58:383 MeetingPad[897:907] Simperium processing 155 objects from index (RecordingModel82) 
2013-05-13 20:09:58:412 MeetingPad[897:907] Simperium enqueuing 155 object requests (RecordingModel82) 
2013-05-13 20:09:58:442 MeetingPad[897:907] Simperium processing 24 objects from index (StylesModel82) 
2013-05-13 20:09:58:449 MeetingPad[897:907] Simperium enqueuing 24 object requests (StylesModel82) 
2013-05-13 20:09:58:471 MeetingPad[897:907] Simperium processing 232 objects from index (NoteLink82) 
2013-05-13 20:09:58:482 MeetingPad[897:907] Simperium processing 289 objects from index (ActionsModel82) 
2013-05-13 20:09:58:486 MeetingPad[897:907] Simperium processing 248 objects from index (NotesModel82) 
2013-05-13 20:09:58:500 MeetingPad[897:907] Simperium processing 295 objects from index (PeopleLinks82) 
2013-05-13 20:09:58:593 MeetingPad[897:907] Simperium enqueuing 232 object requests (NoteLink82) 
2013-05-13 20:09:58:655 MeetingPad[897:907] Simperium enqueuing 248 object requests (NotesModel82) 
2013-05-13 20:09:58:686 MeetingPad[897:907] Simperium enqueuing 295 object requests (PeopleLinks82) 
2013-05-13 20:09:58:696 MeetingPad[897:907] Simperium enqueuing 289 object requests (ActionsModel82) 
2013-05-13 20:09:59:987 MeetingPad[897:907] Simperium processing 481 objects from index (PointsModel82) 
2013-05-13 20:10:00:073 MeetingPad[897:907] Simperium processing 275 objects from index (SeatModel82) 
2013-05-13 20:10:00:080 MeetingPad[897:907] Simperium processing 267 objects from index (KeywordLinks82) 
2013-05-13 20:10:00:088 MeetingPad[897:907] Simperium processing 220 objects from index (PeopleModel82) 
2013-05-13 20:10:00:092 MeetingPad[897:907] Simperium enqueuing 481 object requests (PointsModel82) 
2013-05-13 20:10:00:450 MeetingPad[897:907] Simperium enqueuing 220 object requests (PeopleModel82) 
2013-05-13 20:10:00:461 MeetingPad[897:907] Simperium enqueuing 267 object requests (KeywordLinks82) 
2013-05-13 20:10:00:461 MeetingPad[897:907] Simperium enqueuing 275 object requests (SeatModel82) 
2013-05-13 20:13:29.671 MeetingPad[897:907] Opening Connection... 
2013-05-13 20:13:30:598 MeetingPad[897:907] Simperium processing 100 objects from index (Relationship1Model82) 
2013-05-13 20:13:30:706 MeetingPad[897:907] Simperium processing 250 objects from index (ActionLinks82) 
2013-05-13 20:13:30:743 MeetingPad[897:907] Simperium processing 290 objects from index (AttendeeModel82) 
2013-05-13 20:13:30:804 MeetingPad[897:907] Simperium processing 106 objects from index (ClipModel82) 
2013-05-13 20:13:30:806 MeetingPad[897:907] Simperium processing 47 objects from index (Relationship2Model82) 
2013-05-13 20:13:30:846 MeetingPad[897:907] Simperium processing 275 objects from index (SeatModel82) 
2013-05-13 20:13:30:858 MeetingPad[897:907] Simperium processing 28 objects from index (ImagesModel82) 
2013-05-13 20:13:30:870 MeetingPad[897:907] Simperium processing 155 objects from index (RecordingModel82) 
2013-05-13 20:13:30:948 MeetingPad[897:907] Simperium processing 223 objects from index (ShapesModel82) 
2013-05-13 20:13:30:955 MeetingPad[897:907] Simperium processing 267 objects from index (KeywordLinks82) 
2013-05-13 20:13:30:977 MeetingPad[897:907] Simperium processing 481 objects from index (PointsModel82) 
2013-05-13 20:13:31:011 MeetingPad[897:907] Simperium processing 232 objects from index (NoteLink82) 
2013-05-13 20:13:31:053 MeetingPad[897:907] Simperium processing 289 objects from index (ActionsModel82) 
2013-05-13 20:13:31:062 MeetingPad[897:907] Simperium processing 295 objects from index (PeopleLinks82) 
2013-05-13 20:13:31:076 MeetingPad[897:907] Simperium processing 24 objects from index (StylesModel82) 
2013-05-13 20:13:31:338 MeetingPad[897:907] Simperium processing 220 objects from index (PeopleModel82) 
2013-05-13 20:14:34.901 MeetingPad[897:907] Opening Connection... 
+0

Что-нибудь изменится, если вы установили useWebSockets в YES на вашем экземпляре Simperium? – mikejohnstn

+0

Привет Майк Я добавил ответ в главном вопросе выше ... –

+0

Похож на множество данных по множеству ведер. Ницца. Чтобы проверить завершение, вы экспериментируете с 'setAllBucketDelegates:' и 'SPBucketDelegate'. Метод, который вы ищете, это 'bucketDidFinishIndexing:', где вы должны иметь возможность подсчитать количество ведер, которые закончили загрузку всех исходных данных. – mikejohnstn

ответ

1

Объемы данных вы SYNCING через большое количество ковшей подвергаются некоторым проблемам с производительностью. Они были исправлены с помощью this commit.

В частности:

  1. NSNotifications для добавленных/измененных объектов были срабатывает очень агрессивно при индексировании. Поскольку большинство людей, похоже, не используют их в любом случае (во время индексации), они были удалены на данный момент. Они по-прежнему запускаются, когда объекты добавляются/меняются иначе.

  2. Хранение метаданных, отслеживающих отложенные отношения, было перенесено с NSUserDefaults на метаданные непосредственно на NSPersistentStore.

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

+0

Привет, Майк, спасибо за быстрый поворот с этой проблемой. Я тестировал это в течение последних нескольких недель - все намного лучше, я все еще получаю минимальную проблему при тестировании iPad 2, что практически не влияет на iPhone. IPhone 4 по-прежнему демонстрирует значительную «блокировку» основного пользовательского интерфейса. Я предполагаю, что это значительно снижает вычислительную мощность. Так что спасибо за поддержку в этом, все в целом значительно улучшилось. –

Смежные вопросы