SASGIS - SAS.Планета
View Issue Details
0002204SAS.Планета[All Projects] Багpublic11-10-2013 09:5114-10-2013 06:49
Tolik 
zed 
highmajoralways
closedno change required 
Windows7Ultimate
.Nightly 
 
0002204: Значительное замедление работы кэша в формате БерклиДБ
Заметил снижение скорости примерно вдвое при выводе тайлов из кэша (Беркли) в версии 131011.7548 по сравнению с версией 130922.7506.
Хорошо заметно при изменении масштаба.
В отличие от предыдущих версий, хорошо видно, как тайлы появляются по спирали, на краях появляются артефакты в виде белых линий, которые потом исчезают.
BerkeleyDB
txt 7506.txt (65,330) 11-10-2013 11:27
http://www.sasgis.org/mantis/file_download.php?file_id=1541&type=bug
txt 7548.txt (65,542) 11-10-2013 11:28
http://www.sasgis.org/mantis/file_download.php?file_id=1542&type=bug
txt 7548.2.txt (68,276) 11-10-2013 12:10
http://www.sasgis.org/mantis/file_download.php?file_id=1543&type=bug
7z 2204.7z (2,690,509) 12-10-2013 19:53
http://www.sasgis.org/mantis/file_download.php?file_id=1544&type=bug
? StorageConfig.ini (26) 12-10-2013 19:53
http://www.sasgis.org/mantis/file_download.php?file_id=1545&type=bug
Issue History
11-10-2013 09:51TolikNew Issue
11-10-2013 09:53TolikAdditional Information Updatedbug_revision_view_page.php?rev_id=5758#r5758
11-10-2013 09:54TolikDescription Updatedbug_revision_view_page.php?rev_id=5760#r5760
11-10-2013 10:01vdemidovNote Added: 0013032
11-10-2013 10:01vdemidovStatusnew => feedback
11-10-2013 10:07TolikNote Added: 0013033
11-10-2013 10:07TolikStatusfeedback => new
11-10-2013 10:16vdemidovNote Added: 0013034
11-10-2013 10:18vdemidovNote Added: 0013035
11-10-2013 10:18vdemidovStatusnew => feedback
11-10-2013 11:07TolikNote Added: 0013036
11-10-2013 11:07TolikStatusfeedback => new
11-10-2013 11:27TolikFile Added: 7506.txt
11-10-2013 11:28TolikFile Added: 7548.txt
11-10-2013 11:32vdemidovNote Added: 0013037
11-10-2013 11:38vdemidovNote Added: 0013038
11-10-2013 11:40vdemidovNote Added: 0013039
11-10-2013 11:54zedNote Added: 0013040
11-10-2013 12:02TolikNote Added: 0013041
11-10-2013 12:03TolikNote Edited: 0013041bug_revision_view_page.php?bugnote_id=13041#r5762
11-10-2013 12:05zedNote Added: 0013042
11-10-2013 12:06zedNote Edited: 0013042bug_revision_view_page.php?bugnote_id=13042#r5764
11-10-2013 12:07TolikNote Added: 0013043
11-10-2013 12:10TolikFile Added: 7548.2.txt
11-10-2013 12:11vdemidovNote Added: 0013044
11-10-2013 12:11TolikNote Added: 0013045
11-10-2013 12:14TolikNote Added: 0013046
11-10-2013 12:16zedNote Added: 0013047
11-10-2013 12:24TolikNote Added: 0013048
11-10-2013 12:25TolikNote Edited: 0013048bug_revision_view_page.php?bugnote_id=13048#r5766
11-10-2013 12:25zedNote Added: 0013049
11-10-2013 12:26TolikNote Added: 0013050
11-10-2013 12:27zedNote Added: 0013051
11-10-2013 12:28TolikNote Added: 0013052
11-10-2013 12:29zedNote Added: 0013053
11-10-2013 12:30vdemidovAssigned To => zed
11-10-2013 12:30vdemidovStatusnew => assigned
11-10-2013 12:31TolikNote Added: 0013054
11-10-2013 12:31zedNote Added: 0013055
11-10-2013 12:32TolikNote Added: 0013056
11-10-2013 12:33zedNote Added: 0013057
11-10-2013 12:38TolikNote Added: 0013058
11-10-2013 13:31zedNote Added: 0013059
12-10-2013 19:25vdemidovSummaryЗначительное замедление отрисовки карты в последних версиях => Значительное замедление работы кэша в формате БерклиДБ
12-10-2013 19:25vdemidovTag Attached: BerkeleyDB
12-10-2013 19:53zedFile Added: 2204.7z
12-10-2013 19:53zedFile Added: StorageConfig.ini
12-10-2013 20:06zedNote Added: 0013060
13-10-2013 06:41TolikNote Added: 0013061
14-10-2013 06:49TolikNote Added: 0013064
14-10-2013 06:49TolikStatusassigned => closed
14-10-2013 06:49TolikResolutionopen => no change required
14-10-2013 06:51TolikNote Edited: 0013064bug_revision_view_page.php?bugnote_id=13064#r5768

Notes
(0013032)
vdemidov   
11-10-2013 10:01   
Именно Беркли, или на любом типе кэша?
(0013033)
Tolik   
11-10-2013 10:07   
На тайловом кэше вроде замедления нет.
(0013034)
vdemidov   
11-10-2013 10:16   
> На тайловом кэше
У нас все кэши тайловые, но есть хранящие в файлах, в базах беркли и тд.

Нужно смотреть. Я беркли не пользуюсь пока, так что к Zed-у вопросы. Хотя может и я где-то накосячил ковыряясь с версиями.
(0013035)
vdemidov   
11-10-2013 10:18   
А вообще, возьми две дебажные ночнушки, потягай карту, и сохрани счетчики производительности, что бы можно было посмотреть что конкретно замедлилось.
(0013036)
Tolik   
11-10-2013 11:07   
Подозрение на этот счётчик

Новый
/TMapLayerBitmapMaps/BgDraw 76 2.58982940 0.17792261 0.00001506 00:13.522

Старый
/TMapLayerBitmapMaps/BgDraw 38 0.48471515 0.09743447 0.00001232 00:03.703
(0013037)
vdemidov   
11-10-2013 11:32   
TMapLayerBitmapMaps/BgDraw это только общее время отрисовки экрана в фоновом потоке. То что оно увеличилось это следствие, а не причина.
(0013038)
vdemidov   
11-10-2013 11:38   
А вот это уже ближе к причине:
/MapType/Satellite (Yandex.Maps)/TileStorage/GetTileInfo 268 0.00080107 00:00.215
/MapType/Satellite (Yandex.Maps)/TileStorage/GetTileInfo 284 0.01382741 00:03.927
(0013039)
vdemidov   
11-10-2013 11:40   
Итого среднее время получения тайла их тайлохранилища увеличилось с 0,8 миллисекунд до 13,8
(0013040)
zed   
11-10-2013 11:54   
>из кэша (Беркли) в версии 131011.7548 по сравнению с версией 130922.7506
За это время никаких изменений в кэше не производилось.

>А вот это уже ближе к причине:
Скорее всего, что-то не в порядке с кэшем. У меня так сильно не тормозит. И что в старых, что в новых версиях читает тайлы из кэша быстро - не более 0.0002.
(0013041)
Tolik   
11-10-2013 12:02   
(edited on: 11-10-2013 12:03)
Почему что-то не в порядке только в новой версии?
Запускаю 2 проги по очереди из одной директории, ini один и тот же, кэш, соотв, тоже.

(0013042)
zed   
11-10-2013 12:05   
(edited on: 11-10-2013 12:06)
GetTileInfo всё время такой большой?
На других картах аналогично?

(0013043)
Tolik   
11-10-2013 12:07   
Вы бы хоть по имени отсортировали эту таблицу >:(
(0013044)
vdemidov   
11-10-2013 12:11   
Сори. Это я собирался делать сортировку по клику заголовка столбца таблицы и не успел закончить.
(0013045)
Tolik   
11-10-2013 12:11   
Подёргал разные карты, сохранил 7548.2.txt
(0013046)
Tolik   
11-10-2013 12:14   
Вроде действительно, тормозит сильно только Яндекс-спутник.
(0013047)
zed   
11-10-2013 12:16   
>Подёргал разные карты
Ну вот к примеру у Map (Yandex.Maps) - значение в пределах нормы. Остальные - зашкаливает.

У меня лично нет идей, что может быть не так. На чистой ночнушке что-то тормозит? Беркелевский лог ошибок создаётся?
(0013048)
Tolik   
11-10-2013 12:24   
(edited on: 11-10-2013 12:25)
Прогнал db_verify на yasat - всё нормально.
Лог ошибок не создаётся.
На чистой ночнушке, свежескачанный кэш, не-беркли,
/MapType/Satellite (Yandex.Maps)/TileStorage/GetTileInfo 4285 0.07480088 0.00012780 0.00003970 00:00.548

/MapType/Satellite (Google maps)/TileStorage/GetTileInfo 3847 0.12416894 0.00027266 0.00003936 00:01.049

(0013049)
zed   
11-10-2013 12:25   
>кэш, не-беркли
Ну и кому он нужен-то?
(0013050)
Tolik   
11-10-2013 12:26   
И так вон по 124 мс читает. Переключить на беркли? Щас.
(0013051)
zed   
11-10-2013 12:27   
>И так вон по 124 мс читает
Не. Это 0,124 мс. Три нуля после запятой - нормально.
(0013052)
Tolik   
11-10-2013 12:28   
Перегрузил, переключил на беркли, вот:
/MapType/Satellite (Yandex.Maps)/TileStorage/GetTileInfo 8638 0.08132481 0.00020785 0.00000342 00:01.795
(0013053)
zed   
11-10-2013 12:29   
Какой размер того кэша что тормозит?
(0013054)
Tolik   
11-10-2013 12:31   
Маленький, 312 МБ.

Счётчик Time max в секундах.
(0013055)
zed   
11-10-2013 12:31   
>Счётчик Time max в секундах.
А, да, сорри, не туда глянул. И я бы на этот счётчик особо не ориентировался.
(0013056)
Tolik   
11-10-2013 12:32   
Только у меня замедление?
(0013057)
zed   
11-10-2013 12:33   
>Маленький, 312 МБ.
Запакуй его и отправь ко мне?
(0013058)
Tolik   
11-10-2013 12:38   
вуаля
http://yadi.sk/d/nrpHH9DmAm2nz
(0013059)
zed   
11-10-2013 13:31   
У меня всё летает...
(0013060)
zed   
12-10-2013 20:06   
Tolik

Приложил для тестов 2 exe: один до изменений в подсистеме счётчиков, второй после. Проверь, есть-ли между ними различие в быстродействии.

Так же, попробуй подключить кэш как ReadOnly, положив StorageConfig.ini из аттача в корень папки yasat.

Если не прокатит, то удали/перемести все карты кроме yasat и пробуй запускать разные версии SAS. Ну и прояви фантазию, может как-то ещё можно заставить тормозить ночнушку с приложенным кэшем.

Да, и может это лагает только дебажная версия, а релизная - нет? Или может лаги из-за HDD?
(0013061)
Tolik   
13-10-2013 06:41   
Завтра попробую на работе, дома-то вроде всё нормально...

Не-дебажная тормозит так же, иначе я бы и не заметил ничего.
(0013064)
Tolik   
14-10-2013 06:49   
(edited on: 14-10-2013 06:51)
Запустил сначала 7537 - тормозит, потом 7538 - летает.
Потом включил моск.
Летает благодаря кэшированию!
В общем, долго гонял разные версии в разном порядке, вроде всё одинаково.
Прошу прощения.