Быстродействие в веб-приложениях
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Быстродействие в веб-приложениях
Добрый день!
Прошу совета у тех, кто встречался с конструированием веб-приложений во вьюерах. Сделала приложение с помощью Viewer for Flex, пока было мало слоев, все работало нормально, когда добавила туда больше сервисов, стало сильно тормозить. Кэширование помогает слабо.
Подскажите, пожалуйста, что влияет на быстродействие приложений на flex? и как его увеличить?
Имеет ли значение, где находится БД (у меня - на сетевом диске), из которой сервисы берут данные, а также тип БД (у меня обычная файловая, и вроде бы на ней должно работать быстрее, чем на ArcSDE)?
Прошу совета у тех, кто встречался с конструированием веб-приложений во вьюерах. Сделала приложение с помощью Viewer for Flex, пока было мало слоев, все работало нормально, когда добавила туда больше сервисов, стало сильно тормозить. Кэширование помогает слабо.
Подскажите, пожалуйста, что влияет на быстродействие приложений на flex? и как его увеличить?
Имеет ли значение, где находится БД (у меня - на сетевом диске), из которой сервисы берут данные, а также тип БД (у меня обычная файловая, и вроде бы на ней должно работать быстрее, чем на ArcSDE)?
-
- Интересующийся
- Сообщения: 26
- Зарегистрирован: 03 янв 2012, 18:49
- Репутация: 13
- Откуда: Тюмень
Re: Быстродействие в веб-приложениях
Больше всего на быстродействие влияет оформление и кол-во объектов. Чем сложнее условное обозначение, чем больше объектов на карте отображается одновременно, чем больше надписей, тем меньше быстродействие. Нужно попробовать оптимизировать карту: задать масштабы отображения для слоев и для подписей, по возможности упростить условные обозначения.
Есть хороший инструмент Mxdperfstat. С его помощью можно посмотреть какие слои и почему долго отрисовываются в ArcMap. Они же будут медленно работать и в веб-сервисах.
Хотя если и кэширование не помогает, то возможно проблема в самом сервере.
Есть хороший инструмент Mxdperfstat. С его помощью можно посмотреть какие слои и почему долго отрисовываются в ArcMap. Они же будут медленно работать и в веб-сервисах.
Хотя если и кэширование не помогает, то возможно проблема в самом сервере.
-
- Гуру
- Сообщения: 838
- Зарегистрирован: 10 дек 2009, 23:24
- Репутация: 169
- Ваше звание: старик-гисовик
- Откуда: Москва
- Контактная информация:
Re: Быстродействие в веб-приложениях
А сколько слоев в приложении используются?
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Быстродействие в веб-приложениях
По идее для некэшированных сервисов я использовала самые простые обозначения (немногослойные и обычные маркеры). Масштабируется карта только в тех масштабах, которые заданы кэшированной подложке. Или сервисам все равно надо прописывать те же фиксированные масштабы?Vaska72 писал(а):Больше всего на быстродействие влияет оформление и кол-во объектов. Чем сложнее условное обозначение, чем больше объектов на карте отображается одновременно, чем больше надписей, тем меньше быстродействие.
А какая проблема может быть в сервере? Вроде все устанавливали по инструкциям, железо достаточно мощное. Правда у нас нет отдельного сервера под ГИС-сервер, БД и приложение, все находится на разных жестких дисках одного сервера.
Спасибо за ссылку, попробую.
9 составных слоев, в которых от 1 до 6 дочерних. Но тормозить начало только сегодня, когда я добавила очередной составной слой (на рисунке)Andrey Zhukov писал(а):А сколько слоев в приложении используются?
- Вложения
-
- слои.jpg (35.39 КБ) 12484 просмотра
- jerry-maori
- Гуру
- Сообщения: 585
- Зарегистрирован: 22 авг 2012, 17:02
- Репутация: 143
- Откуда: Нижний Новгород
Re: Быстродействие в веб-приложениях
Для начала посмотреть по монитору ресурсов, кто крыса... в смысле есть ли прям явный затык (типа кол-ва операций чтения-записи на винт, скачкообразный рост потребления оперативы в какой то момент)...
Если, например, БД лежит на RAID5, то могут быть затыки при большом кол-ве запросов (5-ка не любит на себе БД).
Если, например, БД лежит на RAID5, то могут быть затыки при большом кол-ве запросов (5-ка не любит на себе БД).
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Быстродействие в веб-приложениях
спасибо, посмотрю!jerry-maori писал(а):Для начала посмотреть по монитору ресурсов, кто крыса... в смысле есть ли прям явный затык (типа кол-ва операций чтения-записи на винт, скачкообразный рост потребления оперативы в какой то момент)...
Если, например, БД лежит на RAID5, то могут быть затыки при большом кол-ве запросов (5-ка не любит на себе БД).
а стоит попробовать низкую изоляцию процессов для сервисов или не может быть в этом дело? я думала, что у нас довольно мощный сервер, и поставила высокую
- jerry-maori
- Гуру
- Сообщения: 585
- Зарегистрирован: 22 авг 2012, 17:02
- Репутация: 143
- Откуда: Нижний Новгород
Re: Быстродействие в веб-приложениях
Окай, каков конфиг сервера:
1. Процессор
2. Оператиная память
3. Как организована дисковая подсистема
4. Что ещё крутится на нём, кроме ArcGIS Server
1. Процессор
2. Оператиная память
3. Как организована дисковая подсистема
4. Что ещё крутится на нём, кроме ArcGIS Server
-
- Интересующийся
- Сообщения: 26
- Зарегистрирован: 03 янв 2012, 18:49
- Репутация: 13
- Откуда: Тюмень
Re: Быстродействие в веб-приложениях
Значит надо попробовать убрать все остальные сервисы из приложения и посмотреть будет тормозить или нет. Тогда будет понятно дело в этом сервисе или в чем-то другом.amnesiac писал(а):Но тормозить начало только сегодня, когда я добавила очередной составной слой (на рисунке)
Я имел ввиду попробовать по возможности ограничить масштабы для некоторых слоев и подписей. Например, показывать реки начиная с масштаба 1:1 000 000, а подписи рек с 1:500 000. Так и количество объектов на карте уменьшится, и читаемость карты повысится.amnesiac писал(а):Масштабируется карта только в тех масштабах, которые заданы кэшированной подложке. Или сервисам все равно надо прописывать те же фиксированные масштабы?
Еще к предыдущему вдогонку. Если сервис и данные в разных системах координат, то это снижает быстродействие, иногда сильно. Сложность геометрии объектов (кол-во точек в линии или полигоне) тоже может заметно замедлять работу. Если используется выборка, то можно проверить насколько оптимально запрос написан.
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Быстродействие в веб-приложениях
1. Intel Xeon x5690, 2 штукиjerry-maori писал(а):Окай, каков конфиг сервера:
1. Процессор
2. Оператиная память
3. Как организована дисковая подсистема
4. Что ещё крутится на нём, кроме ArcGIS Server
2. 192 Гб
3. 8 жестких дисков в RAID5 (выше вы писали, что дело в том, что БД на RAID5 не оч хорошо, может в этом дело?)
4. Кроме ArcGIS Server на нем установлены программы, выполняющие объемные процедурные и графические вычисления, но сейчас, когда проверяли приложение, ничего задействовано из этого не было - все равно тормозит
Системный монитор скачков памяти никаких не выдает
- jerry-maori
- Гуру
- Сообщения: 585
- Зарегистрирован: 22 авг 2012, 17:02
- Репутация: 143
- Откуда: Нижний Новгород
Re: Быстродействие в веб-приложениях
ну железки толстые, не должно тупить...
А можно запустить ваше приложение и параллельно запустить монитор ресурсов... И начать приложение дёргать до того момента, как оно тормозить начинает... И посмотреть, что с ресурсопотреблением в этот момент случается?
В частности -- нагрузка на проц, скорость чтения/записи в винта ну и скорость сетевого обмена...
А можно запустить ваше приложение и параллельно запустить монитор ресурсов... И начать приложение дёргать до того момента, как оно тормозить начинает... И посмотреть, что с ресурсопотреблением в этот момент случается?
В частности -- нагрузка на проц, скорость чтения/записи в винта ну и скорость сетевого обмена...
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Быстродействие в веб-приложениях
1. БД на сетевом диске, не там где арк-сервер ? Это не хорошо...
2. Файловая БД не факт что быстрее, чем работать с БД. Может как раз в этом (в совокупности с п 1) и причина, gbd по размеру большая получилась ?
ArcSDE (я же Вам объяснял
- это просто прослойка, она тут вообще не причем)
А так jerry-maori, Вам правильно посоветовал. Только таким путем можно выявить ...
ЗЫ: Все-таки на умершем флексе остались ?
2. Файловая БД не факт что быстрее, чем работать с БД. Может как раз в этом (в совокупности с п 1) и причина, gbd по размеру большая получилась ?
ArcSDE (я же Вам объяснял

А так jerry-maori, Вам правильно посоветовал. Только таким путем можно выявить ...
ЗЫ: Все-таки на умершем флексе остались ?
-
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 мар 2015, 10:01
- Репутация: 24
- Откуда: Санкт-Петербург
Re: Быстродействие в веб-приложениях
Спасибо за совет, попробую! Пока знаю тока, что память на него никак не реагируетjerry-maori писал(а): А можно запустить ваше приложение и параллельно запустить монитор ресурсов...
убрала все остальное, проблема в этом сервисе, но не пойму, в чем она заключается - может в количестве объектов в одном из слоев - там есть на 47 с лишним тыс. объектов, тогда как остальные - на 2-5-7 тыс.Vaska72 писал(а): Значит надо попробовать убрать все остальные сервисы из приложения и посмотреть будет тормозить или нет. Тогда будет понятно дело в этом сервисе или в чем-то другом.
Из предупреждений - только пути UNC и прозрачность некоторых слоев (но ее хотелось бы сохранить для функциональности). С координатами и выборками все ок. А вот насчет отображения - не могу придумать, что еще можно оптимизировать...подписи все в топооснову зашиты, масштаб - 1:250 000 и крупнее, объекты имеют разные атрибуты, но классифицировать их как-то сложно, если тока искусственную классификацию вводить по площади, например...но хотелось бы не тратить на это время, если можно как-то обойти проблему быстродействия
Можно ли вообще избежать создания составного из большого слоя при таком количестве объектов или не получится?
1. БД не там же, да. То есть на этом же сервере, но на другом жестком диске RAID массива. Если это может быть причиной, будем переделывать конфигурацию. А как в идеале должно быть?SergeyRyzhkov писал(а):1. БД на сетевом диске, не там где арк-сервер ? Это не хорошо...
2. Файловая БД не факт что быстрее, чем работать с БД. Может как раз в этом (в совокупности с п 1) и причина, gbd по размеру большая получилась ?
ArcSDE (я же Вам объяснял- это просто прослойка, она тут вообще не причем)
А так jerry-maori, Вам правильно посоветовал. Только таким путем можно выявить ...
ЗЫ: Все-таки на умершем флексе остались ?
2. Насчет этого не буду спорить, потому что не очень помню, но мне кажется, где-то в документации аркгисовской читала, что с БГД вроде как быстрее будет, и лучше ее, если не требуется функционал СУБД. По размеру она составляет 666 Мб (я серьезно). Может причина в основном в этом?

На флексе - решение временное, конечно. Решила поступить, как Вы советовали - отдать промежуточную версию на обратную связь пользователю, а в это время прокачать матчасть по leaflet. Но времени катастрофически не хватает
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Быстродействие в веб-приложениях
amnesiac
Вы правильно начали поступать.
1. Локализовать проблемный сервис. У меня такое было, когда слой ЗОРИ подключал, ну очень тормозит он. Плюс его еще и классифицировали.
Хотя тот же слой adres (130 тыщ) или parcel (120 тыщ) намного больше по размеру, но не оказывают влияние на быстродействие.
Я делал (давным давно) генерализацию данного слоя (естественно при вычислениях использовал копию) - немного стало легче.
2. Вы уверены что тормоза именно на сервере? Вы попробуйте в аркмапе тоже тормоза (если поиграться с включением\выключением сервисов) ? Порой же бывает что клиент не может переварить рендеринг (тем более флекс).
3. Насчет файловой и СУБД. Тут очень все относительно. У Вас же винда, а ей трудно порой работать с файлами
,
Положите гбд рядом с серваком, без всяких путей, других дисков и т.д. Посмотрите.
Вы правильно начали поступать.
1. Локализовать проблемный сервис. У меня такое было, когда слой ЗОРИ подключал, ну очень тормозит он. Плюс его еще и классифицировали.
Хотя тот же слой adres (130 тыщ) или parcel (120 тыщ) намного больше по размеру, но не оказывают влияние на быстродействие.
Я делал (давным давно) генерализацию данного слоя (естественно при вычислениях использовал копию) - немного стало легче.
2. Вы уверены что тормоза именно на сервере? Вы попробуйте в аркмапе тоже тормоза (если поиграться с включением\выключением сервисов) ? Порой же бывает что клиент не может переварить рендеринг (тем более флекс).
3. Насчет файловой и СУБД. Тут очень все относительно. У Вас же винда, а ей трудно порой работать с файлами

Положите гбд рядом с серваком, без всяких путей, других дисков и т.д. Посмотрите.
-
- Гуру
- Сообщения: 838
- Зарегистрирован: 10 дек 2009, 23:24
- Репутация: 169
- Ваше звание: старик-гисовик
- Откуда: Москва
- Контактная информация:
Re: Быстродействие в веб-приложениях
Рендер сервиса с файловой базы геоданных всегда быстрее.
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Быстродействие в веб-приложениях
Не согласен со столь категоричным заявлением.Andrey Zhukov писал(а):Рендер сервиса с файловой базы геоданных всегда быстрее.
Много лет назад один всего слой, состоящий из 800 тыщ объектов, пришлось "затащить" в Oracle нормализовать, построить материализованную вьюху, построить индексы и т.д., так как в ФГБД ну очень тормозила, а БД спасла в какой-то мере. Возможно в тот момент что-то не так делал, конечно.
Но спорить не буду, нет уже возможности (и желания) провести эксперимент и аргументировать свое заявление

Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость