|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Здравствуйте. Столкнулся с проблемой выполнения запроса (по времени) к таблице, открытой в общем доступе. Размер таблицы - 25 Mb Ниже приведены измерения по времени отработки запроса в разных режимах доступа. 1. Приложение открыто только у меня - 0:23 2. Приложение открыто у 3-х пользователей - 8:35 3. Приложение открыто только у меня (без перезапуска) - 8:50 4. Приложение открыто только у меня (с перезапуском) - 0:24 Время работы с тремя и более пользователями возрастает в 20-25 раз. И почему-то в 3-м варианте, хоть все остальные пользователи вышли - время показано примерно такое же. Помог только перезапуск приложения. Может кто-то сталкивался с аналогичной проблемой? Есть какие-то варианты оптимизации? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 11:16 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
стоит? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 11:24 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Ffffffffffffffff, в главной програме стоит "ON" но таблици открываются: USE table1.dbf SHARED IN 1 ALIAS table1 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 11:30 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Поэкспериментируйте с off. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 11:32 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Ffffffffffffffff, Результаты практически такиеже, даже в некоторых случаях больше. При открытии таблицы одним пользователем запрос выполняется в считанные секунды, а если откроет ещё дотя бы один пользователь - время увеличивается до 7 - 8 минут... Это как раз очень и напрягает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:13 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDFfffffffffffffff, Результаты практически такиеже, даже в некоторых случаях больше. При открытии таблицы одним пользователем запрос выполняется в считанные секунды, а если откроет ещё дотя бы один пользователь - время увеличивается до 7 - 8 минут... Это как раз очень и напрягает. Это особенность системы блокировок виндовса. Как только файл открыл второй пользователь, так скорость падает, причем заметно. Замедление в десять раз однажды наблюдал. Для начала попробуй все тоже самое поселив базу на другом компе, может с сеткой какие проблемы у компа на том где база. И запрос не помешает оптимизировать. 25 сек. для 25 Мб это сложно назвать "выполняется в считанные секунды". Если все локально на один комп поместить сколько времени выполняется? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:34 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeD, Вы где храните базы данных - ОС какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:35 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, На другой комп перенести не могу. Это корпоративный сервак и туда прописаны права у пользователей. Пробовал данную таблицу перед тем, как выполнить к ней запрос, скопировать к себе на комп. Время с 8 минут сократилось до 2,5-3, но это потому что в запросе такжу участвуют и другоие общие таблицы. Запос выполняется в двойном цикле: выборка по квартально (4 вкартала) и внутри каждой выборки данные по 7-ми подразделениям. Естественно, если включать в выборку только 1 квартал - время будет в 4 раза меньше. ОС у пользователей - Винда 2000 и ХР. На серваке сокрее всего тоже Винда. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:54 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
alextashk, ОС у пользователей - Винда 2000 и ХР. На серваке сокрее всего тоже Винда. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 13:55 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, А что это за особенность системы блокировок винды? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 14:26 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDDima T, А что это за особенность системы блокировок винды? Ньюансов не знаю, суть в следующем: если по сетке файл открывают несколько компов в SHARED режиме, то скорость выборки из этого файла падает в разы (я в десять раз наблюдал, возможно больше бывает) по сравнению со временем когда один пользователь работает. В том что ты описал нет ничего сверхъестественного кроме варианта 3. Хотя возможно надо файлы переоткрыть. не проверял. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 15:17 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDDima T, На другой комп перенести не могу. Это корпоративный сервак и туда прописаны права у пользователей. В чем проблема? Безопасности у ФС никакой нет. Скопируй всю базу к себе, расшарь и подцепись к ней с пары компов пользовательских. Позапускай свой запрос для тестов. По-хорошему если база большая и тормозит - надо прогу в терминал переселять, тогда все запущенные копии будут летать т.к. запускаются на том же компе где база. Или переписывать в клиент-сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2013, 21:48 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDЗдравствуйте. Столкнулся с проблемой выполнения запроса (по времени) к таблице, открытой в общем доступе. Размер таблицы - 25 Mb Ниже приведены измерения по времени отработки запроса в разных режимах доступа. 1. Приложение открыто только у меня - 0:23 2. Приложение открыто у 3-х пользователей - 8:35 3. Приложение открыто только у меня (без перезапуска) - 8:50 4. Приложение открыто только у меня (с перезапуском) - 0:24 Время работы с тремя и более пользователями возрастает в 20-25 раз. И почему-то в 3-м варианте, хоть все остальные пользователи вышли - время показано примерно такое же. Помог только перезапуск приложения. Может кто-то сталкивался с аналогичной проблемой? Есть какие-то варианты оптимизации? Спасибо. Сильное подозрение - глючная клиентская часть. Т.е. где-то не закрываются какие-то файлы (или типа того) и фоксу или системе приходится самим заниматься этой ерундой. А ОС сервера, она тут вроде не при чём. Дали ей запрос на 1 чтение (файла), тупо читает. Дали запрос на 100 чтений - читает, но дольше. Единственно, если это ХР, то одновременных соединений не может более 10. Одинадцатое будет игнорировано. Вы там тщательнЕй исходник просмотрите. И ещё рекммендация - можно это безобразие вообще на одной машине делать, запуская несколько копий программы. Если глюк повторяется - это точно клиентская прога. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 17:24 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Ага... Set Peprocess имеется где нибудь в коде? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 18:22 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
rewareЕдинственно, если это ХР, то одновременных соединений не может более 10. Одинадцатое будет игнорировано. Эта проблема из другой оперы. XP не может одновременно устанавливать более 10 TCP-соединений. Если соединение установлено, то это ограничение ни при чем, будет обслуживаться сколько угодно соединений. Эта проблема касается P2P-прог которые при старте пытаются одновременно установить соединение с кучей других точек, которых гораздо больше десяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 18:35 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Наблюдала в своей проге подобного рода ёрзание около полу года! Грешила на сетку, клиентские машины и т.д. Короче заняла позицию "плохого танцора". Затем (всётаки) воспользовалась советом - приобрести книжечку "Рефакторинг SQL приложений" ISBN 978-5-93286-145-5. Достаточно было беглого прочтения, чтобы понять о необходимости переделать 99% запросов в проге. Ну и результат превзошел все ожидания. Очень рекомендую. Извините если что не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 18:48 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Людмilaприобрести книжечку "Рефакторинг SQL приложений" Речь о файл-сервере, а книжка про SQL-сервер, которого в данном случае нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 18:55 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Простите, а к DBF-таблицам вы не SQL-запросами стучитесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 19:03 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
ЛюдмilaПростите, а к DBF-таблицам вы не SQL-запросами стучитесь? SQL-запрос к SQL-серверу и к DBFам это разные вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 19:11 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Лучше таки на сервере поставить нечто Win>=2000. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 22:19 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima TrewareЕдинственно, если это ХР, то одновременных соединений не может более 10. Одинадцатое будет игнорировано. Эта проблема из другой оперы. XP не может одновременно устанавливать более 10 TCP-соединений. Если соединение установлено, то это ограничение ни при чем, будет обслуживаться сколько угодно соединений. Эта проблема касается P2P-прог которые при старте пытаются одновременно установить соединение с кучей других точек, которых гораздо больше десяти. Мда, действительно малость из другой оперы, тем более, что автор не указал ОС сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 23:08 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Ffffffffffffffff Код: vbnet 1.
стоит? Так если в задаче есть SQLи, то они глубоко чихают на ваши ON/OFF. И как вы там открыли таблицы (или вообще не открыли их) им глубоко фиолетово. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 23:16 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
и я про то же! грамотный Select и моргнуть не успеете. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 23:28 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Людмilaи я про то же! грамотный Select и моргнуть не успеете. Ну, в целом верно, Людмila (а чё не Lucy ?), только с SQL-выборками аккуратнее надо, надо не забывать закрывать таблички (SQL таблицы открывает, наплевав на всё, измывается над ними и бросает их, как есть, дальше дело программёра) и/или переводить их в предшествующий SQLю режим. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2013, 23:41 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Ну это уже 2-я серия. и USE IN Alias всё еще работает - на практике проверено! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 00:06 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Получается, что если кто-то захочет выполнить SELECT, то все остальные пользователи должны отработать перед ним "USE ...". И не только, согласно старттопику они должны выйти из приложения, если их трое и более. Так как из-за них увеличивается время выборки в 20-25 раз, что могло бы означать и сброс буферов на диск, если бы не необходимость перезапуска приложения после них. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 04:32 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Людмilaи я про то же! грамотный Select и моргнуть не успеете. Абсолютно согласен! А если еще в таблице(ах) и правильные индексы созданы... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 04:55 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Я как-то эксперименты проводил, смотрел как читаются файлы по сетке. Наблюдения оказались следующими: 1. Если один пользователь работает в файлами, то виндовс кэширует файл на клиенте, т.е. прога работает с локальным кэшем. 2. Если пользователей два и более, то при каждом обращении идет считывание по сетке всего что надо фоксу. Отсюда и тормоза, сетка гораздо медленнее чем кэш в памяти. Если пользователей много или сервер еще какие базы файл-серверные содержит, то тут запросто тормоза в 20-30 раз получить. Поэтому для больших ФС баз (не важно на чем написанных) надо либо в терминал их селить чтоб к базе обращение локально происходило, либо переписывать в клиент-сервер. Хотя как вариант можно гигабитную сетку проложить, но в большинстве случаев это будет дороже и сложнее сделать. Как вариант хотя бы сервер по гигабитному каналу подцепить. PS Запросы надо оптимизировать всегда. Но данную проблему это не решит, только сгладит немного. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 09:03 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima TSQL-запрос к SQL-серверу и к DBFам это разные вещи. Кто бы спорил. Так и формируйте к MySQL-свой, к SQL Server - свой, к Oracle... , ну и к Фоксу естественно - свой SQL-запрос. Боюсь спросить инициатора темы выложить свой метод запроса, а то судя по (... на сервере вроде Винда какая-то), как минимум -Чудненько. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 09:13 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
ЛюдмilaБоюсь спросить инициатора темы выложить свой метод запроса, а то судя по (... на сервере вроде Винда какая-то), как минимум -Чудненько. А я бы все-таки попробывал бы увеличить кеширование, если это возможно. И перенес бы эти таблицы и эту часть кода в небольшую тестовую программку, чтобы провести эксперименты, которые описал ДимаТ - сервер, каналы, ОС, приложение ... Чтобы не гадать каждый раз туманное SOS, а найти причину принципиально. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 11:01 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
sg12А я бы все-таки попробывал бы увеличить кеширование, если это возможно. Это вопрос к админам виндовса. Но думаю это невозможно. Если только кэшировать средствами самой проги с учетом логики работы приложения. sg12И перенес бы эти таблицы и эту часть кода в небольшую тестовую программку, чтобы провести эксперименты, которые описал ДимаТ - сервер, каналы, ОС, приложение ... Чтобы не гадать каждый раз туманное SOS, а найти причину принципиально. Выкладывать таблицы очень нездоровый совет. Не надо выкладывать рабочие базы в открытый доступ. Всегда есть желающие ознакомится с чужой инфой, останавливает только стоимость. А тут пусть не все, но абсолютно бесплатно. В данном случае конкретные данные роли не играют. Проблема есть и ее масштаб зависит только от размера данных. Поэтому достаточно сгенерить таблицу с 1-2 справочниками на одном компе и со второго пробовать делать какой-нибудь боле-мене стандартный запрос. Затем то же самое но открыв базу с третьего компа (или на первом если третьего нет). Оценивать трафик проще всего открыв состояние сетевого соединения, там видно входящий/исходящий трафик. Правда у проводной сетевухи он в пакетах измеряется. Если по вайфаю - будет в байтах. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 15:59 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima TЯ как-то эксперименты проводил, смотрел как читаются файлы по сетке. Наблюдения оказались следующими: Ваши эксперименты тянут где-то на докторскую, но скорее всего вами заинтересуется отдел внутренней безопасности Microsoft. А именно - винда кэширует файл(ы) в оперативку, НО как она это делает - фиг его знает. Разбивает ли она невлазящие файлы на куски и чего она делает с этими кусками, где они хранятся - вопросы к Гейтсу. Да, собственно, неизвестно и то, как винда поступает с файлом даже в 100 байт, где, как и куда. Dima T1. Если один пользователь работает в файлами, то виндовс кэширует файл на клиенте, т.е. прога работает с локальным кэшем. Недоказуемо. Вы снимали траффик между клиентом-сервером и анализировали каждый переданный по сети байт ? :) Dima T2. Если пользователей два и более, то при каждом обращении идет считывание по сетке всего что надо фоксу. Это прописано и в хелпе VFP, но на уровне "для домохозяек". Причём, не обязательно "два и более", может быть в сети и один юзер. Dima TОтсюда и тормоза, сетка гораздо медленнее чем кэш в памяти. Если пользователей много или сервер еще какие базы файл-серверные содержит, то тут запросто тормоза в 20-30 раз получить. Сеть естессно гораздо медленнее кэша и это будет всё заметнее с подключением новых рабочих мест. Однако, после их обратного отключения от задачи, ситуация должна возвращаться у последнего (единственного) юзера к тем-же цифрам (время). Это я всё к тому, что автору надо капитально ревизовать клиентскую прогу. То-ли некорректные SQL-запросы (а чё упёрлись в SQL-запросы ?), то-ли баги в открытии/закрытии таблиц/баз. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 19:20 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Лично мне до ваших и чьих-либо баз и табличек фиолетово, но запрос то можно выложить, если не хотите читать книги и хотите чтобы вам помогли. Хотябы: SELE * from Table1 WHERE условия отбора INTO CURS MyCurs -по каким полям индексирована Table1 -условие отбора с порядковой точностью Мудрёный запрос к 2-3 таблицам в среднем по 100Мб со всякими join и прочими происходит за 0,000* сек на средненьком компе (есть даже Pen3) и безразлично сколько человек юзают данные Таблицы (у меня до 40, в том числе КурсорАдаптеры с обновлением из этих же таблиц с интервалом в 20 сек) Рулит грамотный SQL-запрос!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 19:45 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Людмila, SELECT - это одно. А вот INSERT и DELETE будут все равно тормозить. Рулит не селект - рулит правильное проектирование приложения... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 20:56 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
AndreTM ... правильное проектирование приложения... Всегда интересовал вопрос - что означает это выражение применительно конкретно к VFP. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2013, 22:14 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
sg12, с труллялами - не общаемся ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 01:38 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
rewareDima TЯ как-то эксперименты проводил, смотрел как читаются файлы по сетке. Наблюдения оказались следующими: Ваши эксперименты тянут где-то на докторскую, но скорее всего вами заинтересуется отдел внутренней безопасности Microsoft. А именно - винда кэширует файл(ы) в оперативку, НО как она это делает - фиг его знает. Как это реализовано не важно. Сгенери табличку весом в гигабайт и проделай то что я написал. По времени выполнения запроса будет видно разницу. rewareDima T1. Если один пользователь работает в файлами, то виндовс кэширует файл на клиенте, т.е. прога работает с локальным кэшем. Недоказуемо. Вы снимали траффик между клиентом-сервером и анализировали каждый переданный по сети байт ? :) Это легко реализуемо. Если ОС клиента закэшировала файл и просто периодически опрашивает сервер что файл больше никем другим не открыт. Такой опрос гораздо быстрее и меньше трафика потребляет чем каждый раз файл тянуть. Речь о кэше на чтение. rewareОднако, после их обратного отключения от задачи, ситуация должна возвращаться у последнего (единственного) юзера к тем-же цифрам (время). С этим согласен. Но конкретного ничего не скажу, не проверял такую ситуацию. reware то-ли баги в открытии/закрытии таблиц/баз. Вот это точно бред. Как можно неправильно открывать/закрывать таблицы в фоксе? Это происходит фоксе у всех одинаково, если б такая проблема была, то о ней было бы давно известно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 06:53 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Провел тест. Исходные данные: Таблица со строками накладных размер 186 Мб, индексы 96 Мб. Положил ее на комп ничем не нагруженный. На своем компе открыл фокс и запускал замер по три раза для каждой ситуации. Условие выборки (nKol = 80) специально взял не попадающее в индексы (каждый раз фокс делал полный скан) чтоб тормозило заметнее. Код замера Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Компы все с Win7x64 сетка 100 Мбит Результаты: 1. Таблица открыта только у меня: 22 сек, 1.1 сек, 1.1 сек 2. Открыл на втором (только use \\Server\Share\test.dbf shared): 55 сек, 55 сек, 55 сек 3. Закрыл на втором (use in test и закрыл фокс): 55 сек, 55 сек, 55 сек 4. Закрыл таблицу на своем (use in test): 22 сек, 1.1 сек, 1.2 сек Ну и трафик: 207 Мб скачано там где 22 и 55 сек, и 0 (ноль) там где 1 сек. Мои выводы: 1. С пунктом 3 никакой мистики нет. Так работает виндовс. Надо переоткрывать файл если кто-то его открыл/закрыл на другом компе. 2. Кэш на чтение есть. 3. Одновременное открытие на двух компах замедляет чтение (55 вместо 22 сек), т.е. кроме самого чтения еще идет какая-то работа на стороне сервера. 22 сек это предельная скорость, т.к. просто копирование ~10 Мб/сек, т.е. 207 Мб = 20.7 сек и сам запрос 1.1 сек. Остальные 33 сек. (55 - 22) это потери по вине виндовса на сервере, его расходы на расшаривание файла. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 08:20 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Людмila, Да запрос вроде простой. Пример открыьтя таблиц: USE pcBdSchedulesPath+"_put_list.dbf" SHARED IN 4001 ALIAS bd_schedules_apl_loc Пример запроса (выполняется в цикле по периодам и внутри каждого периода по отделам) SELECT; bd_schedules_apl_loc.apl_id,; bd_schedules_apl_loc.apl_stats,; bd_schedules_apl_loc.apl_numb,; bd_schedules_apl_loc.apl_name,; bd_schedules_apl_loc.apl_datetm,; bd_schedules_apl_loc.apl_datego,; bd_schedules_apl_loc.rep_ocens,; bd_schedules_apl_loc.kol_banks,; (IIF(bd_schedules_apl_loc.kol_banks>0,bd_schedules_apl_loc.kol_banks,cur_sum_clnt.sum_clnt))sum_clnt,; bd_schedules_otdels.otdel_code,; bd_schedules_otdels.work_srok,; bd_schedules_otdels.work_id,; nsi_type_work.group_name,; cur_lost_requery.max_daterq,; ({..})date_norm,; (0)isp_stats,; cur_lost_query.no_requer; FROM ; bd_schedules_apl_loc; INNER JOIN bd_schedules_otdels; ON bd_schedules_apl_loc.apl_id = bd_schedules_otdels.apl_id ; INNER JOIN nsi_type_work ; ON bd_schedules_otdels.work_id = nsi_type_work.id_work; left OUTER JOIN cur_sum_clnt; ON bd_schedules_apl_loc.apl_id = cur_sum_clnt.apl_id ; left OUTER JOIN cur_lost_requery; ON bd_schedules_apl_loc.apl_id = cur_lost_requery.apl_id ; left OUTER JOIN cur_lost_query; ON bd_schedules_apl_loc.apl_id = cur_lost_query.apl_id ; WHERE bd_schedules_apl_loc.apl_stats = "закрыто"; AND bd_schedules_apl_loc.apl_datego BETWEEN pdDateRepStart AND pdDateRepFinish; AND bd_schedules_otdels.otdel_stat = 1; AND bd_schedules_otdels.otdel_base = "1"; AND bd_schedules_otdels.otdel_code = ALLTRIM(lcOtdelCode); AND bd_schedules_apl_loc.wiev_code # "1"; INTO CURSOR cur_stat1 READWRITE Комментарий: bd_schedules_apl_loc - основная таблица со списком дел bd_schedules_otdels - таблица со списком отдлов-исполнителей nsi_type_work - таблица НСИ с видами работ cur_lost_query, cur_lost_requery - курсоры с датами запросов и ответов по делам cur_sum_clnt - курсос с кол-вом клиентских записей для каждого дела ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 09:19 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeD, смотрел чего оптимизатор фоксовый пишет? Код: sql 1. 2. 3. 4.
Покажи чего получилось. Еще вопрос: Количество записей bd_schedules_apl_loc и количество записей в результате запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 09:47 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, Оптимизатор выдаёт следующее: -------------------------------------------------------------------------------------- Rushmore optimization for table bd_schedules_apl_loc: none Rushmore optimization for table bd_schedules_otdels: none Rushmore optimization for table nsi_type_work: none Rushmore optimization for intermediate result: none Rushmore optimization for intermediate result: none Rushmore optimization for intermediate result: none Joining table nsi_type_work and table bd_schedules_otdels using temp index Joining intermediate result and table bd_schedules_apl_loc using temp index Joining intermediate result and intermediate result using temp index Joining intermediate result and intermediate result using temp index Joining intermediate result and intermediate result using temp index -------------------------------------------------------------------------------------- Число записей в основной таблице - около 15 тыс. В результирующем запросе - 5 - 9 (в зависимости от одела) Запрос выполняется в 4х7 цикла, каждый примерно по 6-7 секунд (при запуске приложения несколькими пользователями) В итоге и набегает около 3 минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 10:55 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeD, у тебя оптимизатор ни одного индекса не использует, т.е. все таблицы тянутся на клиента и делается скан таблицы. Надо бы сделать индексы bd_schedules_apl_loc.apl_datego, bd_schedules_otdels.apl_id и nsi_type_work.id_work Код: sql 1. 2. 3. 4. 5. 6.
bd_schedules_otdels.apl_id и nsi_type_work.id_work - это ключевые поля таблиц как понимаю. Странно что на них индексов нет. Ну индексы таблицам надо не перед запросом делать, а где-то заранее в специально предусмотренное для этого время. ну и курсоры индексировать по apl_id после наполнения чтоб оптимизатору этим не заниматься Код: sql 1. 2. 3. 4. 5. 6.
DmDeDЗапрос выполняется в 4х7 цикла Что меняется во WHERE запроса при каждом проходе? Есть смысл один раз сделать предварительную выборку всех нужных данных из таблиц в курсор, проиндексировать его если надо, а затем использовать курсор внутри циклов. т.е. примерно так: Код: sql 1. 2. 3. 4. 5. 6.
Тогда тормоз будет один, а не 28. Пусть он будет чуть дольше выбираться, но не в 28 раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 12:29 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, Индексы я не ставил по двум причинам: 1. в индексированных таблицах замедляются операции ввода и редактирования данных, 2 - при добавлении новых записей необходима повторная переиндексация, что подразумевает отключение от базы всех пользователей. В данном варианте исполнения приложения это не совсем удобно. В дальнейшем возможно база будет разделена на текущую (куда добавляются и редактируются новые записи) и архивную (закрытые дела, по которым редактирование осуществляется крайне редко). Быть может тогда стоит применить индексирование к архивной части базы, т.к. данный запрос формируется именно по закрытым делам. Согласен, что процес запроса "цикл в цикле" не совсем удачное решение. К сожаленю, так построена структура формирования отчёта. С другой стороны, при одиночном использовании приложения этот запрос выполняется за 20-25 секунд (от момента запуска до открытия готового отчёта в excel). Это нормально по сравнению с 3-8 минутами (при коллективном использовании приложения). Т.е. сам запрос отрабатывает относительно быстро (понятно, что при индексации будет ещё быстрее). Не понятна причина, по которой разница по времени возрастает раз в 20, когда подключается хотябы ещё 1 пользователь. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 12:46 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, по WHERE меняется сначала период (1 квартал, 2, 4 или 4), а внутри код отдела, для которого формируется отчёт. например, выбрали 1-й квартал. для периода с 01/01 по 31/03 в цикле для каждого отдела выгружаются данные и записываются на разные листы в excel в столбец А Выбрали 2-й квартаол для периода с 01/01 по 31/03 в цикле для каждого отдела выгружаются данные и записываются на разные листы в excel в столбец А для периода с 01/04 по 30/06 в цикле для каждого отдела выгружаются данные и записываются на разные листы в excel в столбец B и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 12:52 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDИндексы я не ставил по двум причинам: 1. в индексированных таблицах замедляются операции ввода и редактирования данных, 2 - при добавлении новых записей необходима повторная переиндексация, что подразумевает отключение от базы всех пользователей.Откуда такая информация?? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 12:57 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDИндексы я не ставил по двум причинам ... причины ставить не рассматривались в принципе? Тогда только предварительный селект из этой чудо-базы. Как я выше предложил. DmDeDНе понятна причина, по которой разница по времени возрастает раз в 20, когда подключается хотя бы ещё 1 пользователь. 13764359 это прочитал? как раз про причину. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:00 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDпо WHERE меняется сначала период (1 квартал, 2, 4 или 4), а внутри код отдела, для которого формируется отчёт. Выбери сначала за год по всем отделам в курсор, проиндексируй курсор по дате и дальше 28 раз из курсора. Без индексов в базе так будет в 27-28 раз быстрее. PS Пересмотри свое отношение к индексам. При изменении/добавлении замедление незначительное и после они автоматом перестраиваются. Индексация нужна только если прога вылетела в процессе изменения базы, т.е. данные успели сохраниться в таблицу, а индекс не успел перестроится. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:10 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, Да, читал. Просто на столько явное расхождение по времени и неужеди всё уходит на сеть... Изначально индексирование не рассматривалось. Были несколько другие задачи и объёмы. + слышал не очень-то лестные отзывы о работе с индексированными таблицами: периодически индексы падали... А так, да. Но скорее для варианта с разделёнными базами. В любом случае, Dima T, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:11 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
AndreTM, В книгах по Фоксу читал, но сейчас уже не помню в каких именно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:13 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDВ книгах по Фоксу читал, но сейчас уже не помню в каких именно.Видимо, вы читали не те книги Первое: если ввод/редактирование производится интерактивно, то замедление от использования индексов несравнимо с общим временем простоя системы. Второе вообще неверно - про что и рассказал Dima T . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:24 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
AndreTMDmDeDВ книгах по Фоксу читал, но сейчас уже не помню в каких именно.Видимо, вы читали не те книги В книгах есть упомянутые фразы, но в данном случае они очень бездумно вырваны из контекста сказанного в книгах. DmDeD, советую перечитать и осмыслить все что написано про использование индексов. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:30 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
AndreTM, Спасибо за совет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:34 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, Но основная проблема, как я понял, связанна с сеткой? Да пусть сейчас таблица непроиндексирована, но и в 20 раз быстрее выполняется запрос в одиночном режиме. Допускаю, что с индексами будет работать гораздо быстрее... Вот интересно проверить сколько покажет тестирование по времени в многопользовательском режиме... (меньше 8 минут?) Ещё раз спасбо за советы. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:40 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, с проиндексорованной таблицей получилось 1:28 вместо 2:35 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 13:51 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima TПровел тест. Исходные данные: Таблица со строками накладных размер 186 Мб, индексы 96 Мб. Положил ее на комп ничем не нагруженный. На своем компе открыл фокс и запускал замер по три раза для каждой ситуации. Условие выборки (nKol = 80) специально взял не попадающее в индексы (каждый раз фокс делал полный скан) чтоб тормозило заметнее. + Код замера Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Компы все с Win7x64 сетка 100 Мбит Результаты: 1. Таблица открыта только у меня: 22 сек, 1.1 сек, 1.1 сек 2. Открыл на втором (только use \\Server\Share\test.dbf shared): 55 сек, 55 сек, 55 сек 3. Закрыл на втором (use in test и закрыл фокс): 55 сек, 55 сек, 55 сек 4. Закрыл таблицу на своем (use in test): 22 сек, 1.1 сек, 1.2 сек Ну и трафик: 207 Мб скачано там где 22 и 55 сек, и 0 (ноль) там где 1 сек. Мои выводы: 1. С пунктом 3 никакой мистики нет. Так работает виндовс. Надо переоткрывать файл если кто-то его открыл/закрыл на другом компе. 2. Кэш на чтение есть. 3. Одновременное открытие на двух компах замедляет чтение (55 вместо 22 сек), т.е. кроме самого чтения еще идет какая-то работа на стороне сервера. 22 сек это предельная скорость, т.к. просто копирование ~10 Мб/сек, т.е. 207 Мб = 20.7 сек и сам запрос 1.1 сек. Остальные 33 сек. (55 - 22) это потери по вине виндовса на сервере, его расходы на расшаривание файла. Интересный тест. Интересно, а в приватной сессии то же самое или как. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 14:23 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDНо основная проблема, как я понял, связанна с сеткой? Да DmDeDДопускаю, что с индексами будет работать гораздо быстрее... Вот интересно проверить сколько покажет тестирование по времени в многопользовательском режиме... (меньше 8 минут?) Создай индекс и проверь :) Индекс уменьшает нагрузку на сетку. Главное ускорение от индексов в том что фокс качает сначала индекс (не весь, а только нужную часть), получает из него какие записи надо скачать и затем качает только нужные, а не все. Например в твоем селекте: Код: sql 1. 2. 3.
без индекса: клиент полностью скачает к себе таблицу bd_schedules_apl_loc и после будет делать выборку перебором записей. Если бы был индекс по bd_schedules_apl_loc.apl_datego: клиент скачает индекс, получит какие записи нужны и скачает только эти записи. Т.е. чем меньше записей попадает под условие выборки тем быстрее будет выборка. Что касается ключевых индексов по справочникам (bd_schedules_otdels.apl_id и nsi_type_work.id_work) то у тебя фокс сначала скачивает всю таблицу, затем создает для нее временный индекс, о чем оптимизатор и написал: "Joining table nsi_type_work and table bd_schedules_otdels using temp index" Если бы индекс был, то был бы скачан индекс, а по нему только требуемые записи. Размеры индексов в разы меньше таблиц, да и поиск там идет не тупым перебором, поэтому при правильном использовании ускорение получается значительное. Например если продолжить мой тестовый пример и создать индекс по nKol, то в случае нескольких пользователей вместо 55 сек получается 6,1 сек и трафик 6.5 Мб вместо 207 Мб. (результат выборки 22 тыс. записей из 7.8 млн) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 14:24 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
AndreTMВидимо, вы читали не те книги Вам надо тему открыть "Правильное проектирование приложения в VFP" и там начать выкладывать свои познания. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 14:25 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, походу сначала придётся перепроектироваться всю структуру БД и понять, что индексировать возможно даже какие-то постоянные данные (например, НСИ "ОКАТО" или "Формы собственности") единажды переносить с сервера на станцию пользователя и открывать их с неё... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 14:33 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
sg12, ещё разок повторить, с кем не общаемся? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 14:34 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDDima T, с проиндексорованной таблицей получилось 1:28 вместо 2:35 на 40% уже результат. Правда 1:28 тоже многовато. Думаю в твоем случае самый быстрый способ это один раз сделать предварительную выборку в курсор, курсор проиндексировать по дате, а затем из него строить отчет в циклах. Главный тормоз все-таки сетка. Если один твой запрос без индексов делается 6-7 сек. при этом затягивая всё на клиента, то предварительная выборка будет не намного дольше. Зато последующие из курсоров будут выполнятся намного быстрее и их скорость никак не будет зависеть от того сколько пользователей работает. Т.е. максимум должно получится нормальные для тебя 25 сек плюс 10-15 сек на предварительную выборку. Хотя возможно все вместе будет быстрее 25 сек. Если созреешь создать индексы для таблиц, то их обязательно надо обслуживать, т.е. периодически пересоздавать потому что: 1. Прога может вылететь не сохранив все данные и в результате имеем индекс не соответствующий данным (комп сглючил, сбой в сети, сервер перегрузили, пользователь снял задачу и т.д.) 2. Индексы "вырождаются" при интенсивном изменении данных, т.е. структура дерева индекса становится неэффективной и не дает максимально-возможной скорости выборки. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 14:49 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, да придётся это хоть как-то позволит решить сетевые проблемы но наверное я паралельно буду всё же часть таблиц локализовать, что бы в сети они вообще не участвовали я как-то больше отдавал приоритет интерфейсной часть программы, а программная всегда была на втором месте, т.к. пользователю первое важнее... ещё раз спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 15:02 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDвозможно даже какие-то постоянные данные (например, НСИ "ОКАТО" или "Формы собственности") единажды переносить с сервера на станцию пользователя и открывать их с неё... Появятся еще и другие проблемы. Например - как сохранять их целостность, как обновлять эти справочники при необходимости и др. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 15:02 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDпоходу сначала придётся перепроектироваться всю структуру БД и понять, что индексировать Структуру не надо менять. Минимально индекс должен быть на ключевом поле. А для остальных полей смотреть какие фильтры в запросах используются (WHERE) и для часто используемых полей добавлять индексы. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 15:04 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
sg12, ну на клиенте фокс не стоит и dbf штатными программаи не открывается, а пользователь вряд ли озадачится на тему изменения НСИ, хотя всё возможно.... а обновление происходит автоматически при запуске приложения (если файл на компе пользователя отличается от того, что выложен в сеть - идёт удаление и копирование но комп пользователя) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 15:11 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Dima T, Я предполагал проводить повторное индексирование на этапе администрирования в начале операционного дня ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 15:13 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Без обид, я немного не понял написаное тобой. Dima TПровел тест. Исходные данные: Таблица со строками накладных размер 186 Мб, индексы 96 Мб. Положил ее на комп ничем не нагруженный. На своем компе открыл фокс и запускал замер по три раза для каждой ситуации. Условие выборки (nKol = 80) специально взял не попадающее в индексы (каждый раз фокс делал полный скан) чтоб тормозило заметнее. + Код замера Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Компы все с Win7x64 сетка 100 Мбит Результаты: 1. Таблица открыта только у меня: 22 сек, 1.1 сек, 1.1 сек Явно кэш отработал во втором и третьем случае. Dima T2. Открыл на втором (только use \\Server\Share\test.dbf shared): 55 сек, 55 сек, 55 сек Ну а чё не пишешь, первый-то комп всё ещё пашет ? Пашет ТОЛЬКО второй комп ? Ну, чё, как дитё малое, нормально не можешь описать свой эксперимент и результаты ? Да пиши по-русски, в конце концов "Включил 1 комп, результаты такие-то, выключил его, включил второй комп - результаты твкие-то, включил задачу на двух компах - результаты такие-то...". Ну, фигня, согласись, то, что ты приложил (цифры) здесь, ну можно по-разному трактовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 15:29 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
rewareНу а чё не пишешь, первый-то комп всё ещё пашет ? Пашет ТОЛЬКО второй комп ? Ну, чё, как дитё малое, нормально не можешь описать свой эксперимент и результаты ? Да пиши по-русски, в конце концов "Включил 1 комп, результаты такие-то, выключил его, включил второй комп - результаты твкие-то, включил задачу на двух компах - результаты такие-то...". Ну, фигня, согласись, то, что ты приложил (цифры) здесь, ну можно по-разному трактовать. Я могу понять нежелание повторить, но нежелание просто внимательно прочитать написанное - это уже хамство. Вроде однозначно написал: Dima T На своем компе открыл фокс и запускал замер по три раза для каждой ситуации. т.е. тестовый код ВСЕ разы запускался на моем компе. На втором просто открывал/закрывал таблицу. Чего делал на втором тоже писал: Dima T1. Таблица открыта только у меня: 22 сек, 1.1 сек, 1.1 сек 2. Открыл на втором (только use \\Server\Share\test.dbf shared): 55 сек, 55 сек, 55 сек 3. Закрыл на втором (use in test и закрыл фокс): 55 сек, 55 сек, 55 сек 4. Закрыл таблицу на своем (use in test): 22 сек, 1.1 сек, 1.2 сек rewareНу, фигня, согласись, то, что ты приложил (цифры) здесь, ну можно по-разному трактовать. Давай свою трактовку. Только сначала перевари все что я написал. ЗЫ По времени в Хабаровске 12-й час ночи, ты сначала выспись, потом ответишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 16:12 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
DmDeDDima T, Я предполагал проводить повторное индексирование на этапе администрирования в начале операционного дня Обычно как-то так и делается. Раз в сутки достаточно. Я обычно делаю запуск заданием на сервере при включении сервера (если на ночь отключается) или ночью (если круглосуточно работает). Во втором случае возможно что кто-то из пользователей прогу не закроет, тогда проиндексировать не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2013, 16:34 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Обновляю индексы раз в неделю - (задание по выходным - Erase *.CDX), если все из проги вышли (бывает и такое) Но по этому поводу есть мнение, что у индексных файлов всего два состояния - рабочий и Нет. Смысл реиндекса ??? когда всё работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2013, 09:02 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
ЛюдмilaСмысл реиндекса ??? когда всё работает. ВладимирМ об этом говорил - при активной работе с записями (изменение полей, входящих в индексные выражения) структура индексного файла становится несбалансированной, что увеличивает время поиска в индексе. Поэтому периодическая реиндексация все же требуется. Другое дело, что можно индексировать таблицы с разной частотой - "сильнонагруженные" - чаще, а различные справочники, особенно всякие классификаторы и т.п. - значительно реже. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2013, 10:22 |
|
Запрос к таблице в общем доступе
|
|||
---|---|---|---|
#18+
Хмм! "Несбалансированная структура индексного файла" !?! Ну тогда Реиндекс - раз в неделю или почаще (в зависимости от интенсивности). Спасибочки! Вот перечитала всю имеющуюся в наличии увлекательную литературу по индексам (даже кажется поняла как это работает!) в связи с этим подправила их и where в запросах (и так было хорошо), но стало пошустрее раза в два-три (локально). у меня к базе подключаются до 40 пользователей, тормозов никаких не наблюдается. Правда сетка гиговая на 2-ух свичах DGS-24. в ходе работы в диспетчере задач (вкладка сеть) наблюдались мгновенные пики, порой до 40%. Конкретно работала по ним, по сетке пока не тестировала - Выходные! (Кстати 1С грузит сетку до 30% и это не пики, а волна протяженностью по 3-7сек. Ужасно! Ладно хоть их мах. до 5-ти машин.) Приблизительно такие же несколько crazy-запросов (как опубликованный выше, который собрали - "лишь бы работал") тоже попили кровушки, но вплотную занявшись ими добивались поразительных результатов. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2013, 17:49 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1583216]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
105ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 219ms |
0 / 0 |