|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Товарищи, никто не знает, какие глобалы надо перенести в отдельную БД, чтобы в ней хранился только исходный(и скомпилированный тоже) код, написанный на COS. Нужно это для того, чтобы упростить обновление версий нашей программы на филиалах(т.е. обновление серверной части программы сводилось бы к примонтированию обновленного файла CACHE.DAT с исходниками) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 08:23 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
helldriver , Посмотрите настройки Области . Там уже есть такие параметры как: Default Database for Globals ; Default Database for Routines . Они как правило совпадают, но Вы можете их поменять. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 08:44 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Там еще нужно отмапить некоторые глобалы, которые по недоразумению запихиваются в область с данными. Типа mcq ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 18:58 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Блок А.Н.Там еще нужно отмапить некоторые глобалы, которые по недоразумению запихиваются в область с данными. Типа mcqCaché 2010.2 Upgrade ChecklistThe global, ^mcq, is no longer used to hold cached queries and is no longer a reserved global name. Источник: Cached Query Changes ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 19:19 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Хм, спасибо. Это хорошая новость, так как с ним иногда случались ошибки. Но последняя попытка перейти на 2011 провалилась, пока сидим на 2009. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2012, 20:04 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Спасибо, servit, воспользовался предложенным Вами способом. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 05:59 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Блок А.Н.Но последняя попытка перейти на 2011 провалилась, пока сидим на 2009. Расскажите пожалуйста подробнее, с какими проблемами столкнулись? а то сейчас тоже переходим с 2010.2 на 2011.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 06:35 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Заклинивание клиента. При этом сам сервер продолжает работать нормально. В логах каше ошибок нет, в логах шлюза тоже криминала не увидели. Есть только ошибки в логе IIS. Версии техподдержки ИС - потери пакетов на плохом канале, неправильная работа IE с протоколом http. Я, в принципе, может где-то и верю, но 2009 ведет себя гораздо стабильнее. Кстати, 2009 шлюз тоже падает при работе с IS, и это где-то в в WRC зафиксировано и даже пофиксено, так что у нас на рабочей системе стоит каше 2009.1 с шлюзом от 2010.2 У нас из особенностей - очень много идет гиперевентов, несколько десятков в минуту, причем в разных фреймах они могут идти параллельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 11:44 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Блок А.Н.Заклинивание клиента. При этом сам сервер продолжает работать нормально. В логах каше ошибок нет, в логах шлюза тоже криминала не увидели. Есть только ошибки в логе IIS. Версии техподдержки ИС - потери пакетов на плохом канале, неправильная работа IE с протоколом http. Я, в принципе, может где-то и верю, но 2009 ведет себя гораздо стабильнее. Кстати, 2009 шлюз тоже падает при работе с IS, и это где-то в в WRC зафиксировано и даже пофиксено, так что у нас на рабочей системе стоит каше 2009.1 с шлюзом от 2010.2 У нас из особенностей - очень много идет гиперевентов, несколько десятков в минуту, причем в разных фреймах они могут идти параллельно. нам пришлось на нагруженных проектах из-за проблем в связке CSPGateway+IIS на нагруженных проектах уходить на Apache CSPGateway часто просто вешал IIS намертво, и мы сначала не понимали что происходило, а там было какое то ограничение на количество потоков, которое было разное на серверах с разным количеством ядер, вроде 50 штук на ядро, после превышения которого IIS умирал. у нас по статистике Apache в среднем доходит до 170 запросов в секунду, на самых нагруженных проектах, правда их них может приходится где-то половину на Cache. правда сейчас наш apache что-то расшалился и показывает что то очень странное авторCurrent Time: Friday, 03-Aug-2012 11:08:55 FLE Daylight Time Restart Time: Wednesday, 25-Jul-2012 22:02:16 FLE Daylight Time Parent Server Generation: 138 Server uptime: 8 days 13 hours 6 minutes 39 seconds Total accesses: 4157565096 - Total Traffic: 19865263028.0 GB 5630 requests/sec - 3.2 GB/second - 3.4 GB/request 872 requests currently being processed, 1628 idle workers ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 12:13 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Несколько десятков в минуту - это на клинта у нас. А клиентов несколько десятков онлайн. Апач ставил, но у нас там каталоги есть с точкой, это апач не понял. И, кажется, по стабильности он был получше, но недостоверно, т.е. вроде иногда получше, иногда так же. Кстати, у нас потоков шлюза не очень много было, кажется. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2012, 13:33 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Блок А.Н.Там еще нужно отмапить некоторые глобалы, которые по недоразумению запихиваются в область с данными. Типа mcq Мы примерно так и делаем. Но. 1. ^mcq как показал опыт, лучше удалить в момент переключения и кеш запросов почистить. 2. Отмапить обязательно нужно ^odd* (из бд с обновленной версией кода в область с новым приложением). 3. Осторожно с измененными/обновленными индексами! Мы собираем слепки описания индексов текущей версии, новой версии, сравниваем и перестраиваем вновь появившиеся или измененные индексы. Тут еще один подводный камень - плавающее значение свойства SequenceNumber описания индекса - оно по какой-то причине "гуляет". Т.е. его при создании слепка лучше не учитывать. А в общем схема рабочая - обновление версии зачастую пользователь вообще не замечает, и делать это можно в любой момент, когда есть необходимость. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2012, 05:05 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
kolesov3. Осторожно с измененными/обновленными индексами! Мы собираем слепки описания индексов текущей версии, новой версии, сравниваем и перестраиваем вновь появившиеся или измененные индексы. Мы при обновлении версии подменяем CACHE.DAT с кодом + все разработчики при добавлении индекса добавляют перестройку в отдельный класс обновлений. Но тут тоже был подводный камень: при создании первого bitmap-индекса создается дополнительно bitmap-extent индекс, когда нашли добавили условие его перестройки при обновлении, но до этого было много вообще непонятных проблем. Ваш способ мне кажется правильнее, расскажите, как вы делаете слепки? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2012, 06:58 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
D_De1mos, Есть такой код, который объект, описывающий индекс, представляет в виде текстового слепка (он в программе сборки, потому не в методах, а в метках программы): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2012, 09:37 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Наше приложение состоит из нескольких БД, от 13 штук специально выделена БД под наш код и код под конкретный проект, весь код всегда берется из БД с нашим кодом, а код под проект в конкретных пакетах классов и мапатся в отдельную БД по остальным БД раскиданы всевозможные данные клиенту в качестве обновления предоставляется бд с нашим кодом ~300Mb. и с уже подключенной свежей БД кода, запускает установку обновлений. так как изменения в структуре данных классов меняется очень редко а в структуре индексов и того меньше, поэтому насчет индексов сильно не заморачиваемся ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2012, 10:11 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
kolesov2. Отмапить обязательно нужно ^odd* (из бд с обновленной версией кода в область с новым приложением)Вообще-то Cache сама мапит эти глобалы. Чтобы убедиться в этом, достаточно взглянуть на действующий в области маппинг: Код: javascript 1.
Будь это не так, в областях, отличных от %SYS, невозможно было бы редактировать %-ные классы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2012, 12:50 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
kolesov, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2012, 14:45 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Alexey Maslovkolesov2. Отмапить обязательно нужно ^odd* (из бд с обновленной версией кода в область с новым приложением)Вообще-то Cache сама мапит эти глобалы. Чтобы убедиться в этом, достаточно взглянуть на действующий в области маппинг: Код: javascript 1.
Будь это не так, в областях, отличных от %SYS, невозможно было бы редактировать %-ные классы. Не понял: do SHOW^%NSP... oddDEF [("%"):("%SYS.")) -> c:\intersystems\cache\mgr\cachelib\ [("%SYS."):("%SYS/")) -> c:\intersystems\cache\mgr\ [("%SYS/"):("%Z")) -> c:\intersystems\cache\mgr\cachelib\ [("%Z"):("%ZEN.")) -> c:\intersystems\cache\mgr\ [("%ZEN."):("%ZEN/")) -> c:\intersystems\cache\mgr\cachelib\ [("%ZEN/"):("%[")) -> c:\intersystems\cache\mgr\ [("%["):("%sqlcq.USER.")) -> c:\intersystems\cache\mgr\cachelib\ [("%sqlcq.USER."):("%sqlcq.USER/")) -> c:\intersystems\cache\mgr\cache\ [("%sqlcq.USER/"):("%z")) -> c:\intersystems\cache\mgr\cachelib\ [("%z"):("%{")) -> c:\intersystems\cache\mgr\ [("%{"):("&")) -> c:\intersystems\cache\mgr\cachelib\ ... и т.п. По подузлам монтируется только часть подузлов odd*... Про редактирование процентных классов в несистемных областях - это изыск мне непонятный, простите ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2012, 08:28 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
kolesovПо подузлам монтируется только часть подузлов odd*...Маппируется ровно то, что надо. А остальная часть odd* маппируются в БД с программами, без каких-либо дополнительных телодвижений со стороны "настройщика". Вот простой пример. В области YNQMS: База данных по умолчанию для глобалов: YNQMS База данных по умолчанию для программ: USER Дополнительный маппинг глобалов не настраивался. См.: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2012, 11:48 |
|
Вынесение исходного кода в отдельную БД
|
|||
---|---|---|---|
#18+
Alexey Maslov, И правда. Видимо раньше каше вело себя иначе, а мы по инерции продолжаем мапить... Но тем лучше - потестирую без этого мапа, да и уберу его. Тогда все еще проще становится. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2012, 04:50 |
|
|
start [/forum/topic.php?fid=39&fpage=33&tid=1557406]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 148ms |
0 / 0 |