07.12.2006, 11:10 | #1 |
Участник
|
Правильны ли мои сведения, что в Навижн на клиенте объем памяти ограничен неким объемом, не помню точно, вроде 50 Мб (подтвердите). В Navision в памяти клиента нельзя создавать большие объемы данных (типо таблиц значений в 1С), поэтому все данные берутся с сервера, а на клиенте хранится кеш этих данных. Т.е. если данные не помещаются в памяити, из Кеша выбрасываются лишние старые считанные данные.
Можно ли управлять размером этого КЭШа вообще (через командную строку запуска например) и из C/AL клиента в частности? Потом, надеюсь я правильно понял, что Navision – толстый клиент, т.е. вся обработка данных идет на клиенте? Потом я так понимаю, есть кэш скомпилированных прикладных объектов. Кто знает его объем, можно ли управлять размером этого кэша? Есть ли команда по очистке этого КЭШа из C/AL или административные функции для такой очистки? Это нужно при обновлении форм, например, когда у пользователя застряла в КЭШе старая версия скомпилированной формы. Конечно, пользователь может выйти/зайти, тогда кэш очистится, но есть ли другое решение? И еще один вопрос провокационный. Допустим, обрабатывается таблица из 1 миллион записей. Чтобы ее корректно обработать, нужно допустим сделать 10 проходов. В случае с 1С вся таблица сразу запросом будет перекачана на клиента (с использованием своп-пространства диска клиента). Таким образом объем трафика будет 1 миллион записей. В случае с Navision если в кэш помещается 10 000 записей то объем трафика составит 10* (1 млн-10 000) записей, т.е. больше чем в 1С. Понятно, что это вырожденный случай, но он показывает особенности работы 1С и Navision с сервером. В частности, если у клиента 1С не хватит памяти и свопа на диске, возникнет исключение, а навижн медленно но верно отработает этот запрос. Правда, в 1С 80 можно вынести исполнение этой обработки на сервер, тогда трафик вообще будет нулевой. Правильно ли я привел пример? |
|
07.12.2006, 12:59 | #2 |
Участник
|
Неправильно. В кеш данные тоже должны откуда-то попадать. А кеш любой системы имеет свойство хранить актуальные данные, т.е. хранить первые 10000 когда обрабатываются следующие 500тыс уже не актуально.
Соотвественно при цикличном переборе 10 раз подряд таблицы и использовании кеша на 10000записей объём траффика всё равно будет 10*1млн. Неуд Вам, студент. Пересдача в следующем семестре. |
|
07.12.2006, 13:01 | #3 |
Участник
|
Цитата:
Сообщение от Scorpie
Неправильно. В кеш данные тоже должны откуда-то попадать. А кеш любой системы имеет свойство хранить актуальные данные, т.е. хранить первые 10000 когда обрабатываются следующие 500тыс уже не актуально.
Соотвественно при цикличном переборе 10 раз подряд таблицы и использовании кеша на 10000записей объём траффика всё равно будет 10*1млн. Неуд Вам, студент. Пересдача в следующем семестре. Конечно, если кэш просто вытесняет старые записи, то 10*1 млн. ;-) |
|