Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ограничить потребление CPU или хоть выяснить, что делается / 25 сообщений из 27, страница 1 из 2
20.10.2009, 18:41
    #36262823
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
День добрый.

Есть хитрое 3-х уровневое приложение, написанное на VFP9 (!)
База - Oracle, миддлтайер и клиент - на Фоксе.
Чужое.

Архитектура такая: на каждого клиента на сервере поднимается фоксовое приложение и живет.
Проблема в том, что практически при любом клиентском чихе этот серверный процесс съедает 100% CPU.
Oracle практически ничего не делает, сеть тоже свободна, дисковой активности нет, памяти валом. По самой задаче с данными тоже особо делать нечего - объемы небольшие. Но когда 5 пользователей одновременно жмут кнопку, ответа они уже не дожидаются.
Идея ограничить использование процессора на уровне ОС остается на крайний случай.
Вопрос, можно ли выяснить, чем фокс занимается в это время?

Вариант ограничить CPU usage через, скажем, config.fpw тоже интерестен, как и опыт использования фокса в таком (ну, не точно таком, а, например, терминальном) виде.

Программа уже куплена, авторы предлагают приобрести датацентр, дабы 40 человек (!) смогли работать :), нам такое не подходит. Может, кто-то встречался с таким? Сервер Windows 2003 Server sp2
...
Рейтинг: 0 / 0
20.10.2009, 18:59
    #36262854
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Сэмка,

refox в помощь :)

PS. афтары мониаки, сваяли на фоксе аналог одногоце
...
Рейтинг: 0 / 0
20.10.2009, 19:12
    #36262873
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
refox не катит, спецов нет. Я больше 10 лет тому хоть vfp3.0 пощупал, а так пара чел-к еще раньше на 2.6 остановилась. И прога монстровая, я так понимаю, раз они пожадничали на чем-то поадекватней переписать и предпочли такого уродца изготовить.
...
Рейтинг: 0 / 0
20.10.2009, 19:37
    #36262914
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Сэмка,

Мне встречаться с этим не приходилось.
Может чего-то я и не понимаю, но есть мысли по поводу.

Пусть авторы, если умные такие, разгребают проблему перегрузки процессора, и все прочие проблемы, чтобы нормально работало нужное ВАМ число юзеров.

Теперь еще непонятки, для меня, во всяком случае:

Сэмка Архитектура такая: на каждого клиента на сервере поднимается фоксовое приложение и живет.

Это как, на 40 клиентов 40 серверных приложений? Тогда это туфта..
Или все же на каждого клиента одно серверное приложение? Тогда есть предположение, что программа вообще одноуровневая, без "клиента". Это, может, и неплохо, но переплачивать бабки за "клиента" не нужно. Да и нагрузка на сервер резко повышается, не в этом ли причина перегруза?

Наконец, если данных немного, юзеров тоже, то зачем Оракл? И зачем клиент-сервер?? Все можно элементарно сделать на Фоксе при желании, и даже серверную часть.
...
Рейтинг: 0 / 0
20.10.2009, 19:49
    #36262930
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Нет, именно 40 юзеров - 40 процессов. И 1 процесс-диспетчер. Оракл нужен для вынесения обработки сравнительно больших (и растущих!) объемов данных из приложения. Т.е. обычный файлсервер разнесли по уровням. К базе нет претензий - запросы нормальные, работают быстро, мы в этом-то как раз нормально разбираемся.

Разработчики видят 1 решение: качать железо. И нашли в контракте какой-то пункт, который наши манагеры проморгали. Понятно, когда продавали, о фоксе никто и не заикался - по документам это 3-х уровневое приложение с оракловым бэком, программерам его на всякий случай не показывали :)

Теперь или мы за них должны найти решение (уверен, что оно существует, живут же многопользовательские фоксовые системы и не жужжат!), или нужно потратить эндесят килобаксов на новое железо.

Смешно, конечно, но не нам.
...
Рейтинг: 0 / 0
20.10.2009, 20:06
    #36262946
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Сэмка,

Опишите свое железо
...
Рейтинг: 0 / 0
20.10.2009, 20:40
    #36262983
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Да ладно, в принципе какая разница на чем написано? Тут же затык не в производительности интерпретатора. Может, в цикле делается попытка эксклюзивно что-то занятое открыть или еще что-то. А эффект - 100% утилизация.
Попробую на системном уровне поиграться, типа processmon-ом
...
Рейтинг: 0 / 0
20.10.2009, 20:47
    #36262989
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
igorbik,

Железо не ахти, 2.4 CQ, 4G RAM,

Но еще раз: 4 процесса забирают 4 ядра на 100%, при этом гиг памяти свободен, сеть занята в пике на 2%, дисковая активность отсутствует.
Понятно, что если сейчас 15 человек затыкаются, то, добавив еще 3 таких проца, мы, вероятно, разрулим и 50. Вернее, они так же станут в очередь, но позже :) Смысл?
...
Рейтинг: 0 / 0
20.10.2009, 21:26
    #36263015
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Сэмка,

Похоже, не в железе дело.
Не факт, что наращивание мозгов разрулит загрузку.

Возможно, что железо уже подпортилось.
Возможно, в клиенте имеются зацикленные процессы, ждущие выхода по значению переменной, либо неоптимизированные с точки зрения Фокса запросы, фильтры иле еще что такое, что жрет ресурсы. Конечно, поставить бы эту программу на отладку и проследить за нагрузкой...

Однако с точки зрения юзера, незнакомого с программированием и железом, можно было бы где-то взять (типа напрокат на 1 неделю) железо с мозгами, соотв. требованиям контракта, и проверить, что будет. Дальше уже будет думаться легче.

Интересно, где это все происходит?
...
Рейтинг: 0 / 0
20.10.2009, 21:35
    #36263022
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Сэмкаrefox не катит, спецов нет. Я больше 10 лет тому хоть vfp3.0 пощупал, а так пара чел-к еще раньше на 2.6 остановилась. И прога монстровая, я так понимаю, раз они пожадничали на чем-то поадекватней переписать и предпочли такого уродца изготовить.А со стороны кого-нить пригласить? Может даже удаленно?
...
Рейтинг: 0 / 0
21.10.2009, 10:26
    #36263533
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Фоксовский процесс в режиме ожидания CPU практически не потребляет, может у них там бесконечные циклы какие-то крутятся? :)
...
Рейтинг: 0 / 0
21.10.2009, 10:29
    #36263540
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
... которые отключатся после приобретения датацентра :)
...
Рейтинг: 0 / 0
21.10.2009, 12:01
    #36263847
Redrik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
100% - крутят тупые циклы!
Таких "разработчиков", да еще и с идеей датацентра...
Ну и кто покупал - куда смотрел?!

- Это у вас кто висит?
- Выродки!
- А за что вы их вешаете?
- За шею, конечно!
...
Рейтинг: 0 / 0
21.10.2009, 13:35
    #36264184
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
В режиме ожидания все нормально, речь идет о выполнении каких-то действий
Кто виноват - сейчас не рассматривается, интересно, что делать.
Железо не битое
Датацентр продают не они, так что это головотяпство, а не злой умысел.
...
Рейтинг: 0 / 0
21.10.2009, 13:45
    #36264218
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Да, со стороны никого не пригласишь, там уже реальные данные и люди работают.
...
Рейтинг: 0 / 0
21.10.2009, 13:56
    #36264263
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
СэмкаДа, со стороны никого не пригласишь, там уже реальные данные и люди работают.Ну, для декомпиляции то никаких данных не нужно. Получите исходники, а дальше уже будет над чем думать. Для отладки не нужны все данные, к тому же реальные, достаточно нескольких записей "похожих" на настоящие.
...
Рейтинг: 0 / 0
21.10.2009, 14:17
    #36264353
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Несколько записей в КАЖДОЙ из 300 таблиц с констрейнтами - нереально.
Я уже молчу об авторских правах.
...
Рейтинг: 0 / 0
23.10.2009, 13:00
    #36268907
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
OK, задача слегка изменилась. Во-первых, оказалось, что это не чистый фокс, а сишная прога, которая вызывает фоксовую dll. Хрен редьки не слаще. Оказалось, что фокс создает файл подкачки, хотя памяти валом и внем что-то молотит. Можно ли его заставить пользоваться памятью или это вне контроля? Тут история обратная классической: память есть :) Я еще не обнаружил обращений к config.fpw, что, dll-ка пользуется чем-то другим? Можно ли на нее как-то воздействовать, дабы иметь возможность менять параметры по-умолчанию?
...
Рейтинг: 0 / 0
23.10.2009, 13:07
    #36268935
Ограничить потребление CPU или хоть выяснить, что делается
СэмкаОказалось, что фокс создает файл подкачки,На каком основании сделан такой вывод? хотя памяти валомИ что из этого следует? Фокс обязан все деалть в памяти? Опять же, на каком основании? и внем что-то молотит. Можно ли его заставить пользоваться памятью или это вне контроля?А нужно ли? Тут история обратная классической: память есть :) Я еще не обнаружил обращений к config.fpw, что, dll-ка пользуется чем-то другим?Он может быть внутри. Можно ли на нее как-то воздействовать, дабы иметь возможность менять параметры по-умолчанию?Декомпиляция.
...
Рейтинг: 0 / 0
23.10.2009, 13:16
    #36268954
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
проходящий.На каком основании сделан такой вывод?[/quot ]
procmon

[quot проходящий.]И что из этого следует? Фокс обязан все деалть в памяти? Опять же, на каком основании?[/quot ]
Фокс никому ничем не обязан, я задал вопрос, как его попросить. Операции в памяти несколько быстрее, знаете...

[quot проходящий.]Он может быть внутри. [/quot ]
Он - это кто?

[quot проходящий.]Декомпиляция.
Невозможно, код собирается динамически
...
Рейтинг: 0 / 0
23.10.2009, 13:24
    #36268974
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
Сорри, не разобрался с тегами
Повторю читабельней

проходящий.На каком основании сделан такой вывод?
procmon

проходящий.И что из этого следует? Фокс обязан все деалть в памяти? Опять же, на каком основании?
Фокс никому ничем не обязан, я задал вопрос, как его попросить. Операции в памяти несколько быстрее, знаете...

проходящий.Он может быть внутри.
Он - это кто, файл? Внутри чего, сишного модуля?

проходящий.Декомпиляция.

Невозможно, код собирается динамически
...
Рейтинг: 0 / 0
23.10.2009, 13:26
    #36268977
Ограничить потребление CPU или хоть выяснить, что делается
СэмкаprocmonВременные файлы и файл подкачки - две большие разницы. Фокс создает первое. И без них он работать не может.
Фокс никому ничем не обязан, я задал вопрос, как его попросить. Никак. Да и нужно ли? Особенно не разобравшись в вопросе?Операции в памяти несколько быстрее, знаете...Знаете ли, не всегда. Фокс, знаете ли, СУБД, и работает по своим правилам.

проходящий.Он может быть внутри. [/quot ]
Он - это кто?Config.fpw
проходящий.Декомпиляция.Невозможно, код собирается динамическиКод DLL?
...
Рейтинг: 0 / 0
23.10.2009, 16:03
    #36269510
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
ОК, я понял, действительно, временные файлы.

Динамически собирается фоксовый код, декомпиллить "авторскую" dll - малополезное занятие, поскольку все равно работа потом передается фоксовой, которую разобрать, думаю, вообще неподъемно. И вообще, трудно себе представить, как криво должен был написать программу пограммист фокспро, чтобы для отображения практически просто отсортированных и сгруппированных 10 тыс. записей процессор полчаса утилизировался на 100%. Поэтому я надеялся найти какой-то системный промах.

procmon показывает все это время обращения к временным файлам, читает из них по 65К, судя по скорости, все и так сидит в памяти.
...
Рейтинг: 0 / 0
23.10.2009, 16:24
    #36269581
Ограничить потребление CPU или хоть выяснить, что делается
Сэмка,
что-то я не понял. Ранее было заявлено
сишная прога, которая вызывает фоксовую dllТеперь уже
Динамически собирается фоксовый кодВы уж определитесь.
работа потом передается фоксовой, которую разобрать, думаю, вообще неподъемноКому неподъемно? Вам? Может быть. Специалисту, который еще и специализируется на этом - вполне решаемо.
...
Рейтинг: 0 / 0
23.10.2009, 17:18
    #36269743
Сэмка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ограничить потребление CPU или хоть выяснить, что делается
А чего тут определяться, все правильно. Сишная часть - оболочка над фоксом, которая через сокет общается с программой-диспетчером. Диспетчер передает ей некие команды, которые инициируют обращения к фоксовой библиотеке. Далее уже фокс через интерфейсную таблицу получает от диспетчера входные данные (думаю, это досокетный рудимент) и на их основании динамически формирует выполняемый фоксовый код. Далее результаты через интерфейсную таблицу возвращаются диспетчеру, а тот - клиенту. Выполнеие собранной фоксовой программы и занимает те самые полчаса, в это время кроме процессора никакой другой активности нет.

ЗЫ
За специалистом, который специализируется на декомпилляции майкрософтовских библиотек я бы не обратился сюда.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ограничить потребление CPU или хоть выяснить, что делается / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]