Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Установка _правильного_ размера таблицы блокировок в новом портале
|
|||
|---|---|---|---|
|
#18+
Имеется установленная Cache for Windows (x86-64) 2010.1 (Build 413) Имеется таблица в которой нужно обновить значение некого поля Код: plaintext 1. В результате выполнения получаю ошибку -110 и сообщение в cconsole.log Код: plaintext 1. А это даже не смешно ... Поиски в новом портале места установки размера таблицы блокировки, приводят в [Домашняя страница] > [Конфигурация] > [Дополнительные Настройки Памяти] - параметр locksiz равный по умолчанию 1179648 - при нажатии на справку получаю. автор locksiz Size (in bytes) of memory allocated for locks. The system rounds up the value to the next multiple of 64 kilobytes. The default is 1179648 bytes. (On the HP platform, the default is four times the usual default – 1179648*4 (4718592 bytes).) The range is 65536 bytes up to the gmheap size. If you need more room for the lock table, increase the GenericMemoryHeap size as well. If you edit this setting, you must restart Caché to apply the change. Вопрос - какое значение locksiz - Вы обычно используете ? Ибо при всё "уважении" к новому порталу ... в стареньком редакторе конфигурации подсказки были куда понятнее и ощутимее - ибо он сразу давал подсказки по максимальному значению и показывал насколько далеко от него текущее. Как его правильно рассчитать ? Сначала мне нужно увеличить gmheap потом locksiz - вопрос на сколько ? Пока я для себя не выяснил этот вопрос, делаю вот так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2010, 13:11 |
|
||
|
Установка _правильного_ размера таблицы блокировок в новом портале
|
|||
|---|---|---|---|
|
#18+
Не знаю, тоже натыкался на такую проблему. Для себя решил, что неправильно делать апдейт для всей таблицы и при этом лочить каждую запись - таблица может быть из сотен миллионов строк, а блокировка сама по себе не очень быстрый процесс. И что делать если не получается заблокировать стомиллионную-1 запись? все равно сбрасываем все назад. Поэтому: 1) апдейтим %nolock, уповая на то что нигде ничего не заденет 2) блокируем работу системы целиком, если п.1. не подходит и делаем %nolock. 3) пишем программу и апдетим по кускам. :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2010, 21:53 |
|
||
|
Установка _правильного_ размера таблицы блокировок в новом портале
|
|||
|---|---|---|---|
|
#18+
Для примера, операция d $system.SQL.Purge(0) тоже делает блокировку. И что мы видим - если запустить во время работы системы, то сотня пользователей, работающая с системой фактически оказывается заблокированной, но процессы их продолжают работать, они жмут на кнопки в своей системе и т.д., в результате таблица блокировок пухнет очень быстро, на время система замирает, и, честно говоря, мне всегда страшно в такие моменты, не заклинит ли ее намертво. То же с компиляцией классов: иногда экстренно нужно скомпилировать незначительный класс в живой системе, при этом может зацепить другие, те еще другие и т.д. в результате что-то оно там не может заблокировать и система становится колом, приходится делать сброс пользовательских процессов. Кстати, только мне кажется, что в каше не хватает возможности увидеть, какие классы будут скомпилированы, и нет ли этому препятствий? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2010, 22:03 |
|
||
|
Установка _правильного_ размера таблицы блокировок в новом портале
|
|||
|---|---|---|---|
|
#18+
Дык в том то и дело что я вроде в каком то из релиз нотесов - читал что мол таблица блокировок теперь динамическая. На компилировании области раньше тоже были блокировки и мы сразу шли править параметры, но на этой версии всё скомпилялось нормально. В общем поставил так : Основная куча памяти 65536Кб = 64Мб (по умолчанию 3.2Мб) gmheap=65536 Размер таблицы блокировок 32Мб (половина кучи) - 33554432 байт (по умолчанию 1.125Мб) locksiz=33554432 Насколько это оптимально/верно - хз. Пока работает ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2010, 10:01 |
|
||
|
|

start [/forum/topic.php?fid=39&fpage=48&tid=1557992]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 275ms |
| total: | 363ms |

| 0 / 0 |
