AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.11.2016, 08:12   #1  
Blog bot is offline
Blog bot
Участник
 
14,444 / 625 (49) +++++++
Регистрация: 28.10.2006
alexef: Azure грядет …
Источник: https://blogs.technet.microsoft.com/.../azure-coming/
==============

В продолжении поста NAVObjectPermissionsReportWebApp. О чудный, дивный мир…

На волне оптимизма после отпуска задался я целью переписать приложение с использованием Spring Boot и… Azure SQL Database . Не без проблем, но все же удалось это сделать.

Первое, что понравилось при создании сервиса Azure — это то, что все как-то активно развивается.

В апреле 2016 года и в октябре 2016 года (прошло всего полгода), если сравнивать по ощущениям, — наполняемость этого виртуального магазина выросла.

В моде сейчас уже новый Azure портал и все вскоре, как я понял, будет только через него.

Почему собственно я пришел к мысли воспользоваться Azure SQL Database.

Первоначально я создал Spring Boot приложение с использованием локального MySQL и все работало. Проект представлен здесь.

Но вот при использовании удаленного сервиса ClearDB MySQL Database из Azure получаю ‘max_user_connections’ ошибку. Долго не мог понять. Оказалось, я использовал бесплатный сервис ClearDB MySQL Database, а там только 4 коннекта. А этот умный Spring при запущенном web приложении сразу снимает 10 коннектов.

Выбрать платный сервисный план (с большим числом коннектов) для сервиса ClearDB MySQL Database мне не удалось. Дебетовая карта к моему профилю в Azure не привязана. Я трачу только то, что дает MSDN подписка.

По идее, отсутствие карты не должно быть препятствием (деньги с MSDN подписки присутствуют на профиле), но вот c ClearDB MySQL Database такой фокус не прошел. Все-таки, провайдер этой услуги не сам MS. А вот с Azure SQL Database все прокатило. Спокойно списывает c MSDN лимита, даже без привязанной карты.



Выбрал минимальную конфигурацию на 5 DTU.

Тут стоит упомянуть что Azure SQL Database все-таки пока не совсем полностью все имеет что и обычный SQL Database.

Про лимиты можно почитать тут.

Моему простому приложению это все не помеха. Единственное, что пришлось столкнутся с тем, что данные можно закачать, похоже, только через bcp утилиту. Но зато качает быстро, не сравнить с тем, что мне пришлось ожидать при закачке в MySQL.

Подключаться к базе Azure SQL Database можно через обычный Microsoft SQL Server Management Studio



Редактировать структуру таблицы удобно через Microsoft SQL Server Data Tools



Главное тут не забыть про настройку Firewall в Azure. Почитать про это можно тут и тут .

В итоге запускаем bcp:



// Обратите внимание, что имя поля сделал pinsert вместо просто insert.. иначе ругалась система при построении запроса через Spring Data JPA (зарезервированное слово что ли.. так и не понял) и ругалась именно что при использовании Azure SQL Database, на MySQL не было проблемы.

 

По bcp приведу ключевой текст:

===
create template for .fmt file:


bcp data format nul -f C:\Users\alexef\IdeaProjects\data_format_csv.fmt -c -t ; -S alexef0test0navsqlserverazure.database.windows.net,1433 -d navobjectpermissionsreportsqldatabase -U -P

modify .fmt for skip first column:

11.0
14
1       SQLCHAR             0       80     «;»     2     modulename                 SQL_Latin1_General_CP1_CI_AS
2       SQLCHAR             0       80     «;»     3     objecttype                 SQL_Latin1_General_CP1_CI_AS
3       SQLCHAR             0       80     «;»     4     description               SQL_Latin1_General_CP1_CI_AS
4       SQLCHAR             0       21     «;»     5     rangefrom                 «»
5       SQLCHAR             0       21     «;»     6     rangeto                   «»
6       SQLCHAR             0       10     «;»     7     pread                     SQL_Latin1_General_CP1_CI_AS
7       SQLCHAR             0       10     «;»     8     pinsert                   SQL_Latin1_General_CP1_CI_AS
8       SQLCHAR             0       10     «;»     9     pmodify                   SQL_Latin1_General_CP1_CI_AS
9       SQLCHAR             0       10     «;»     10   pdelete                  SQL_Latin1_General_CP1_CI_AS
10     SQLCHAR             0       10     «;»     11   pexecute                   SQL_Latin1_General_CP1_CI_AS
11     SQLCHAR             0       80     «;»     12   productline               SQL_Latin1_General_CP1_CI_AS
12     SQLCHAR             0       21     «;»     13   moduleid                   «»
13     SQLCHAR             0       20     «;»     14   versionname               SQL_Latin1_General_CP1_CI_AS
14     SQLCHAR             0       21     «\r\n»   15   moduleid2                 «»


load data:

bcp data in C:\Users\alexef\IdeaProjects\ObjectPermissionsexternal_CSV.csv -f C:\Users\alexef\IdeaProjects\data_format_csv.fmt -S alexef0test0navsqlserverazure.database.windows.net,1433 -d navobjectpermissionsreportsqldatabase -U -P -F2
===

Про создание собственно Spring Boot приложения много писать не буду (off—topic).

Единственное что прочитайте тут

И приведу строку для регистрации SQL драйвера в Maven:

===

mvn install:install-file -Dfile=C:\Distr\_Java\sqljdbcdownloadmicrosoft\sqljdbc_6.0.7728.100_enu\sqljdbc_6.0\enu\sqljdbc42.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.2 -Dpackaging=jar

===

Собственно, весь проект лежит: https://github.com/finn777/navobject...uresqldatabase

И само приложение:

http://alexef0test0nav.azurewebsites...sqldatabase-1/



И вот что еще я обнаружил. Я пересоздал Tomcat сервис, что уже использовал ранее.

Удалил и создал с тем же именем. Потом сделал Deploy, в том числе, и старому приложению. Все отработало. Только теперь уже более новая версия Tomcat крутится.

// Все выставил в Newest что бы была свежая версия JVM. А то долго не мог понять почему свежее приложение ошибку ‘The requested resource is not available’ на локальном Tomcat не выдает, а на удаленном Tomcat выдает.

Приведу настройки:





Кстати добраться до настроечного tomcat-users.xml можно так:







И далее уже через обычный интерфейс, если задали Администратора.



Описанная конфигурация, по идее, должна списывать только за Azure SQL Database (3 фунта в месяц).

Tomcat сейчас в бесплатной конфигурации. Если что можно увеличить пропускную способность на платную, если не будет хватать (Для теста я делал Scale up до Basic и обратно во Free – все отрабатывает).

Пока посмотрю пользуются ли вообще чем-то.

Тулов для мониторинга в Azure много:













Источник: https://blogs.technet.microsoft.com/.../azure-coming/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Старый 12.01.2017, 10:23   #2  
finn is offline
finn
Участник
 
59 / 18 (1) ++
Регистрация: 26.12.2001
Адрес: Москва
В тему:
Azure SQL Database is increasing read and write performance
https://azure.microsoft.com/en-us/bl...e-performance/
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
alexef: NAVObjectPermissionsReportWebApp. О чудный, дивный мир… Blog bot NAV: Blogs 1 14.10.2016 15:13
Navigate Into Success: NAV performance part 3: Azure VM configurations Blog bot NAV: Blogs 0 15.05.2016 18:12
Leon's CRM Musings: Are You Azure-Curious? Blog bot Dynamics CRM: Blogs 0 22.06.2014 21:16
alexef: NAV 2013 в облаках (NAV on Windows Azure and in Office 365) Blog bot Dynamics CRM: Blogs 0 07.03.2014 15:11
alexef: NAV2009 и Web Service, пример Blog bot Dynamics CRM: Blogs 0 10.02.2009 10:45
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:35.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.