|
Активность пользователя. | ☑ | ||
---|---|---|---|---|
0
antihacker
24.05.17
✎
12:24
|
Всем привет ! Есть файловая база. К нему через локалку подключен толстый клиент. Локалка 1 гигабит. На клиенте есть обработка. Когда первый раз нажимаешь на кнопку обработки после долгого простоя, то ответ тормозит на 5-10 секунд. А после следующие нажатия отрабатываються моментально. Долгий простой, опять такая картина. Не могу понять в чем дело. Может на сикл сервер перейти ?
|
|||
1
rabbidX
24.05.17
✎
12:41
|
Почему тормозит - см. замер производительности. При следующих нажатиях берет данные из кэша, поэтому моментально. Со скулем два варианта: либо поможет, либо не поможет.
|
|||
2
Buster007
24.05.17
✎
12:51
|
а может дело не в 1С? попробуй задать вопрос админу
|
|||
3
rabbidX
24.05.17
✎
12:54
|
(2) Ну, проблема с сетью должны бы проявляться чаще, чем в одной обработке.
|
|||
4
antihacker
24.05.17
✎
13:02
|
rabbidX, по моему не верное предположение. Потому что при каждой нажатие, получает разные результаты, так как данные регистра меняеться моментально.
|
|||
5
kossmatiy
24.05.17
✎
13:04
|
(0) Может в этой обработке запрос с десятком другим виртуальных таблиц и различными соединениями? О чем вопрос то? Смотри код, смотри монитор производительности и да про кеш в (1) верно написано...
|
|||
6
antihacker
24.05.17
✎
13:12
|
ВОт запрос
Функция ОстатокНомНаСкладе(вхНоменклатура); //Товары в незакрытых сменах ЗапросКолТовароввСмене = новый запрос; ЗапросКолТовароввСмене.Текст="ВЫБРАТЬ | СУММА(ХранилищеСуточныхПродаж.Количество) КАК СУММАКоличество |ИЗ | РегистрСведений.ХранилищеСуточныхПродаж КАК ХранилищеСуточныхПродаж | Где ХранилищеСуточныхПродаж.СменаЗакрыта = ЛОЖЬ | И ХранилищеСуточныхПродаж.ЧекФРРаспечатан = ИСТИНА | И ХранилищеСуточныхПродаж.Номенклатура = &вхНоменклатура"; ЗапросКолТовароввСмене.УстановитьПараметр("вхНоменклатура",вхНоменклатура); РезЗапросКолТовароввСмене = ЗапросКолТовароввСмене.Выполнить().Выбрать(); Пока РезЗапросКолТовароввСмене.Следующий() Цикл Если РезЗапросКолТовароввСмене.СУММАКоличество <> Null Тогда КолТовВСмене = РезЗапросКолТовароввСмене.СУММАКоличество; Иначе КолТовВСмене = 0; КонецЕсли; КонецЦикла; //---Проверяем остаток--------------------------------- запрос=новый запрос; запрос.Текст="ВЫБРАТЬ | ТоварыНаСкладахОстатки.Склад КАК Склад, | ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | &ДатаОст, | Склад = &выбСписСклады | И Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки"; запрос.УстановитьПараметр("ДатаОст",ТекущаяДата()); запрос.УстановитьПараметр("выбСписСклады",Объект.Склад); запрос.УстановитьПараметр("Номенклатура",вхНоменклатура); КолОстаток=запрос.Выполнить().Выбрать(); Если КолОстаток.Количество()=0 Тогда Возврат 0; Иначе Пока КолОстаток.Следующий() Цикл Возврат КолОстаток.КоличествоОстаток - КолТовВСмене; КонецЦикла; КонецЕсли; |
|||
7
antihacker
24.05.17
✎
13:13
|
Дело в том что данное решение работает и в другом месте. Но там таких тормозов нету.
|
|||
8
Lama12
24.05.17
✎
13:19
|
(0) Есть у меня смутные подозрения, что проблема в двух вещах.
1. Работа кэша. После первого запуска обновляется кэш. 2. Наверняка на конечном компьютере либо памяти мало, либо 1С поставлена недавно. либо еще что-то что подталкивает винду скидывать страницы памяти в своп файл. Возможно по этой причине и кэш приходится обновлять. 1С давно на проблемный компьютер поставили и какая операционка? |
|||
9
antihacker
24.05.17
✎
13:40
|
там вин7. А что если 1С поставлен не давно ?
|
|||
10
Lama12
24.05.17
✎
14:16
|
(9) Винда (примерно после 7) статистику нарабатывает по использованию тех или иных приложений. В зависимости от этого управляет выделением ресурсов компьютера.
Очень приблизительный пример. На компе около года пользователь сидел постоянно в браузере и смотрел фильмы. Если несколько дней назад поставили 1С (или любое другое приложение), и у пользователя так же открыт браузер, то при разруливании какому приложению выделить дефицитный ресурс, операционка предпочтет браузер. Понаблюдайте хотя бы месяц. |
|||
11
darius357
24.05.17
✎
14:26
|
ну как всегда побакланили, и нифига толку
|
|||
12
antihacker
24.05.17
✎
14:36
|
И памяти хватает, так как компы там где база и там где клиент не тормозят.
|
|||
13
antihacker
24.05.17
✎
14:38
|
Компы были куплены и там ни кто ни чем не занимался. Купили сразу поставили на кассу. Только используеться 1С для отпуска клиентов магазина.
|
|||
14
Lama12
24.05.17
✎
14:41
|
(11) А какая инфа должна быть? Результатов мониторинга (5) нет. По результатам, думаю ТС сам поймет в чем дело. Причины, почему результаты будут такими, а не другими, уже озвучили. Что еще нужно?
|
|||
15
antihacker
25.05.17
✎
12:17
|
Все выяснилось. Тормозит из за первого запроса
ЗапросКолТовароввСмене = новый запрос; ЗапросКолТовароввСмене.Текст="ВЫБРАТЬ | СУММА(ХранилищеСуточныхПродаж.Количество) КАК СУММАКоличество |ИЗ | РегистрСведений.ХранилищеСуточныхПродаж КАК ХранилищеСуточныхПродаж | Где ХранилищеСуточныхПродаж.СменаЗакрыта = ЛОЖЬ | И ХранилищеСуточныхПродаж.ЧекФРРаспечатан = ИСТИНА | И ХранилищеСуточныхПродаж.Номенклатура = &вхНоменклатура"; ЗапросКолТовароввСмене.УстановитьПараметр("вхНоменклатура",вхНоменклатура); РезЗапросКолТовароввСмене = ЗапросКолТовароввСмене.Выполнить().Выбрать(); Пока РезЗапросКолТовароввСмене.Следующий() Цикл Если РезЗапросКолТовароввСмене.СУММАКоличество <> Null Тогда КолТовВСмене = РезЗапросКолТовароввСмене.СУММАКоличество; Иначе КолТовВСмене = 0; КонецЕсли; КонецЦикла; Но почеу не знаю. |
|||
16
Fragster
гуру
25.05.17
✎
12:29
|
периодический ли это РС? почему нет отбора по периоду, если да?
какой порядок столбцов и на какие установлена галочка "индексировать"? |
|||
17
antihacker
25.05.17
✎
13:13
|
Не периодический, независимый, и нет индексируемых полей.
Вот так ) А что нужн делать ? Регистр я создавал сам |
|||
18
antihacker
25.05.17
✎
13:14
|
Там есть поле - НомерПродажи. Туда я программно вставлю уникальные ключи.
|
|||
19
antihacker
25.05.17
✎
13:34
|
Подскажите друзья. Исходя из запроса какие поля мне нужно инексировать ?
|
|||
20
rphosts
25.05.17
✎
13:39
|
(19) для начала укажи его измерения в том порядке как они в конф
|
|||
21
antihacker
25.05.17
✎
14:05
|
Измерения:
НомерПродажи ДатаПродажи Номенклатура Кассир АкцияНоменклатуры БонусныйТовар СменаЗакрыта ВидРеализации ОшибкаФРКоменатрии ЧекФРРаспечатан Контрагент БиоПродажа Ресурсы: Количество Цена АкцЦена ПроцентСкидки Сумма |
|||
22
Волшебник
модератор
25.05.17
✎
14:07
|
Плохой регистр
|
|||
23
Лефмихалыч
25.05.17
✎
14:08
|
(0) компьютер, на котором лежит база, просто в спячку поди уходит при простое?
|
|||
24
Лефмихалыч
25.05.17
✎
14:09
|
(19) да любые. в файловой базе по сети это все пустая возня
|
|||
25
antihacker
25.05.17
✎
14:09
|
Нет не уходит. И галочку для экономи энергии в сетевой карте тоже убрал.
|
|||
26
Fragster
гуру
25.05.17
✎
14:10
|
сделай первые три:
СменаЗакрыта ЧекФРРаспечатан Номенклатура |
|||
27
Fragster
гуру
25.05.17
✎
14:11
|
вообще (22) прав
|
|||
28
antihacker
25.05.17
✎
14:12
|
А поле НомерПродажи ? И чем же он прав ?
|
|||
29
antihacker
25.05.17
✎
14:16
|
Лефмихалыч , можно детальнее ?
|
|||
30
НЕА123
25.05.17
✎
14:45
|
>Не периодический, независимый, и нет индексируемых полей.
>Там есть поле - НомерПродажи. Туда я программно вставлю уникальные ключи. Регистр зачем? Справочник - несолидно? |
|||
31
rabbidX
25.05.17
✎
15:06
|
(28) Если планировалось получать сумму числовых показателей по группе измерений, проще было использовать оборотный регистр с соответствующими измерениями.
Да, можно для одной задачи использовать несколько регистров, необязательно все в одну таблицу пихать. Набор измерений регистра сведений должен однозначно определять сущность, а ресурсы регистра ее характеризовать. Например, СменаЗакрыта явно должно быть в ресурсах - странно хранить одновременно информацию о закрытой и открытой кассовой смене. Довольно странно, что смена у Вас привязана к Кассиру, а не к Кассе. Если сущность, описываемая регистром сведений меняется со временем (смена на Кассе иногда закрыта, иногда открыта) удобнее использовать периодический регистр. Тогда через срез последних можно получать актуальное состояние. |
|||
32
antihacker
26.05.17
✎
05:45
|
rabbidX, к кассиру потому что на кассе,в разные дни, могут работать разные кассиры. И каждый должен отвечать за свою сумму. И в конце месяца нужен отчет, кто сколько денег принимал. И какая разница поле как ресурс или измерения ? Я данные вытаскиваю через запрос.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |