Программа тормозит при работе с несколькоми пользователями

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Clarion 5.5 EE с 5 патчем.
(отмечу, что большого опыта по написанию многопользовательских программ нет)
Ситуация такая:
Я написал программу, база под TPS.
Когда работаю в ней один, все отрабатывает быстро(закладки и обновление броузера), причем, если я запускаю эту прогу на локале 2-3 раза, то везде работает быстро.
Скопировал прогу на сеть, пытаюсь запустить с других компьютеров, вижу, что как только программа запускается 2-ой раз (входит в нее другой чел), так и на другом компьютере и на моем все начинает реально притормаживать (обновления экрана и закладки)
Расшарил у себя директорию, запустил у себя и с другого компа на своем диске - эффект тот же, один работаю нормально, при подключении второго начинает притормаживать (тормозить).
Пробывал разнести сам ехе-шник на локалы , а базу на сервант, все равно отрабатывает Очень медленно.
Сеть 100мб./c причем данных было строк на 7....столбцов на 6. (прикидываю как все это будет тормозить, когда строк будет 1000, пока не проверял)
Есть ли какие-нибудь предложения как мне ускорить работу программы по сети?
Может есть какой-нибудь флажок в Кларе, который отвечает за разрешение мульти-доступа к файлу?
Может с другими базами будет быстрее работать (dat,dbf и т.д.)?

p.s. мне так показалось, что даже excel работает быстрее по сети

Всем спасибо!
Гость

Сообщение Гость »

Думаю дело в самой проге, конктретно видимо в самом браузе, возможно используется кривой фильтр
Гость

Сообщение Гость »

Привет,
Пробывал разнести сам ехе-шник на локалы , а базу на сервант,
лично я всегда использую такой подход.. тоесть, на сервере только базы.
все равно отрабатывает Очень медленно.
Сеть 100мб./c причем данных было строк на 7....столбцов на 6.
а саму сеть тестировал? на предмет производительности при работе
нескольких станций одновременно, ну хотбы взять фаром и одновременно
запустить копирование одного и того же файла с сервера
(в фаре есть индикация скорости скачивания)
и еще обрати вниманеие на коллизии (на хабе есть индикация коллизий)
Работа в сети медленнее чем на локальном диске. но вот что бы это сильно зависело от
количества станций.. во всяком случае две три станции, можно сказать, ни как не повлияют
на производительность друг друга в бровсине.
Может есть какой-нибудь флажок в Кларе, который отвечает за
разрешение мульти-доступа к файлу?
ну есть флажек, дак ты его наверняка использовал
"File Open Mode" = Share
Может с другими базами будет быстрее работать (dat,dbf и т.д.)?
при работе с tps и dat разницы незаметил.

С уважением, Владимир Дегтяренко
Написал: ClaList(2)
Гость

Сообщение Гость »

Template Clarion
Фильтр у меня сделан через Validate Record
+ в фильтре есть совсем немножко вычислений.

Еще вопросы:
1) У меня слеплена процедура броузера автоматом, апдейт записей я отключил (в броузере только просмотр), так как мне сделать share на файл просмотра? (тот флажок, про каторый Вы сказали, где поставить?)

2) во всех процедурах (написанных в ручную), вызываемых из броузера, я сменил open(имя-файла,0) на share(имя-файла,0) при этом особой разницы не заметил.!?
Гость

Сообщение Гость »

1. если процедура слеплена шаблоном, то в такой процедуре также есть необходимый код открытия файла.. тоесть руками в таком случае ни чего не нужно писать.
А флажек, вернее опция, есть в глобальных настройках приложения
на закладке "Открытие Файлов"

2. разницы и не должно быть..
поотму что эти операторы отличаются друг от друга только лишь когда их
используют без параметра режима открытия файла.. open(имя-файла)
где по умолчению будет:
open(имя-файла) = open(имя-файла,22h)
share(имя-файла) = share(имя-файла,42h) = open(имя-файла,42h)
посмотри в хелпнике - "OPEN (open a data structure)"

С уважением, Владимир Дегтяренко
Написал: ClaList(2)
Гость

Сообщение Гость »

Фильтр у меня сделан через Validate Record
+ в фильтре есть совсем немножко вычислений.
Вообщем то в этом и дело полюбому, попробуйте убрать фильтр и посмотреть насколько изменится скорость просмотра.
Гость

Сообщение Гость »

Замечал, что если версия 16-битовая, то начинает тормозить если ее запустить на сервере или как у меня из-под W2K терминальная станция. Если так, то компели на 32, и прикинь что к чему.
Написал: GreenSnake(4)
Гость

Сообщение Гость »

Забежал в Глобал, там действительно по умолчанию стоит share, на всякий случай я еще и на каждой базенке(tps файле) продублировал share
Все скомпелировано под win32 (работаю под XP)
Конфигурация: 2 компа на одном Свиче (100Мб.с)

1.Попытался скомпелить под Windows-16 - вылетела ошибка:
"link Error/Group or Segclass exceed 64K"
2.У меня было скомпелировано с флажком local попробывал с скомпелировать, чтобы c55runx.dll были отдельно, разницы в обновлениях броузера не заметил.
3.выкинул validate records вроде все забегало в 2 раза быстрее, ....намного быстрее

Попробывал запустить на локале в расшариной папке
- на локале все летает, при запуске с другого компа, тоже бегает побыстрее.

4. Тест:
Запустил прогу с компа2, лежащую на компе1 - все бегает быстро, не важно есть фильтры или нет. Запускаю прогу на локале (комп1) т.е. уже 2 пользователя.Что наблюдаю: На локале комп1 Все летает и с фильтром и без фильтра, а вот на компе2 стало тормозить. На компе2 с фиьтром все тормозит по черному (2-3сек обновление экрана), а без фильтра с минимальными задержками

Так, отсюда вопрос:"как по другому сделать Фильтр на броузер?", потом у меня там есть и Formulas, от которых тоже надо бежать, как я понимаю?.....куда бы их впихнуть, чтобы при обновлении эаписи все пересчитывалось

Какие есть идеи

Спасибо Всем за помощь!
Гость

Сообщение Гость »

Так, отсюда вопрос:"как по другому сделать Фильтр на броузер?",
Завести отдельный флажок типо FlagRangeLimit byte, если можно результатом расчета формулы обойтись значением byte или завести там FlagRangeLimit long или real, добавить это поле в ключ, по которому просматриваются записи, фильтровать ТОЛЬКО ЧЕРЕЗ RangeLimit.
Гость

Сообщение Гость »

Года 4 назад наблюдал картину :
Сеть Nowell 3.12, 100 Mbit, swich 100 Mbit, 7 станций
под винд 95-98.
На двух машинах запущена программа на Клаше 5.0b
Печать платежек и кое-какие отчеты, файлы TPS.
Программа не моя.
База не на сервере, а на одной из машин.
Я проверил - больше никто с сестью не работал - работали
локально на машинах. Программа на Клаше 5.0b работала
на одной машине, а на второй просто запущена была.
Загрузка процессора сервера достигала 10%-15%!

Чаплыгин В.Г. <chapligin@fromru.com>
Написал: ClaList(2)
Гость

Сообщение Гость »

Траффик видимо как-то кривовато рутил. Хотя странно конечно - у меня в
сетке 4 сегмента, станций эдак поболее 50 будет, IP меж сегментами
гуляет (правда не куда попало, а тока кому дозволено :-)), и больше
2...3% сервак не грузится :-).

В твоем случае дело не в Новелле и не в Кларе. Рутер даж на 486
машинке с 32М памяти работает на ура, тем более у тя свич (ежли правда
свич) и всего 7 стнций

--
WBR, Тимур Ташбаев, mailto:tim@vz111.bryansk.ru, http://www.oka.made.ru
=2.87 3.12 3.62 4.12 4.62 5.30 6.80 9.10 10.20 ...=

(Добавление)

Была похожая картинка полгода назад. Выяснилось, что неисправен хаб сети. После замены - как по маслу...

... А ещё я недавно поставил видеодрайвер для своей Geforce4, который в состоянии простоя кушал 35-30% процессора P4 2400...

---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail yufil@tacis-dipol.ru (служ)
yufil@renet.com.ru (дом)
ICQ# 75924439
Написал: ClaList(2)
Гость

Сообщение Гость »

Мужики, похоже дело действительно в Formulas и Validate Record.

Очередной тест завершился 100% успехом (работал по сетке с 3-х компов и база и прога на одном из них), а именно удалил в броузере Formulas -все залетало(замечу, все столбцы из базы), как только добавляю пару простейших формул(и пару столбцов, туда подставляются значения из формул) - все начинает тормозить, причем реально (экран обновляется по 15 сек-30сек на Пне3-700)

Так что теперь сижу и думаю, как можно расчитать данные по каждой строчке, впихнуть в броузер, в обход Formulas и Validate Records
Ответить