|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
MainFrame НО и первый вариант не выход. На нем производительность недопустимая. Это единственно правильный выход, IMHO. А вот для повышения производительности есть множество путей... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:08 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklin MainFrame1.Речь от сревера приложений плавно перетекла к многоуровневым приложением, поэтому и пример приведен приложения, где многокомпонентность необходимая вещь. 2. А при чем тут расширение. Приложение должно работать на файловом сервере (сервер базы данных - это свосем другой сервер), иначе оно не может задать квоты учетной записи. 1. Ок. Согласен. 2. Ну так и пусть себеработает. А запускать его будет расширенная хп. Разве важно кто кого запускает? Важно , что логику работы программы реализуют совершенно разные приложения, работающие на разных серверах. Это если о многозвенной говорим. А кто кого запустил - это же не имеет значение. Мне как раз в этом всем нравиться, что нет четко выраженного сревера и клиента. Но это лирика. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:09 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
MainFrameСкорее всего да, только сам WMIService будет работать все равно на файловом сервере и сделает установку вместо Вас. Но он-то тоже будет частью вашей системы. Вы просто используете для установки не свое приложение, а существующий com объект на файловом сервереГм... Совершенно верно! И как это я, предлагая генерить скрипт, упустил из виду тот момент что записывать его в дисковый файл будет операционная система. Несомненно, без многозвенки, при разработке абсолютно любого приложения, не обойтись :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:09 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklin MainFrame НО и первый вариант не выход. На нем производительность недопустимая. Это единственно правильный выход, IMHO. А вот для повышения производительности есть множество путей... Возможно, нам они не все известны, более того, точно не все. Но и Вы не преддложили решения, а многоточия все ставить умеют. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:10 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
автор1. Можно каждый раз, обработать ответ и выбирать из базы только тот вопрос, который нужно по результатам ответ показать. Сто вопросов - сто обращений к базе. ДВести пользователей одновременно тестируются - много обращений. Гм.... если обращение к базе это: Коннект-селект-дисконнект, то будет тяжело, но если запросы делать по существующему соединению, будет гараздо быстрее. А руками писать джоины и перебор вопросов, вместо того, чтобы использовать уже написанное + можно индексы подвязать, это ИМХО мазахизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:11 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
MainFrameВозможно, нам они не все известны, более того, точно не все. Но и Вы не преддложили решения, а многоточия все ставить умеют. Решения по оптимизации... Без какой-либо конретики в симптомах... Мдя... Кстати... MainFrameОбращений к базе меньше в сто раз. Нагрузка ложиться на сервер приложений. Ну и в чем "фишка" такого, с позволения сказать, распределения?! Вместо одного сервера, нужно два! Придеться реализовывать на сервере механизм кэширования, что уже реализовано в самой СУБД?! Зачем эти городушки?! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:16 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Terrorist автор1. Можно каждый раз, обработать ответ и выбирать из базы только тот вопрос, который нужно по результатам ответ показать. Сто вопросов - сто обращений к базе. ДВести пользователей одновременно тестируются - много обращений. Гм.... если обращение к базе это: Коннект-селект-дисконнект, то будет тяжело, но если запросы делать по существующему соединению, будет гараздо быстрее. А руками писать джоины и перебор вопросов, вместо того, чтобы использовать уже написанное + можно индексы подвязать, это ИМХО мазахизм. Можно и индексы, но в силу определенных причин (удовлетворение некоторой спецификации) на те данные, которые участвуют в правилах адаптационного теста индексы привзяать нельзя (они привязаны к другим данным, которые используются в других ситациях). Данные извлекаются фактически из BLOB. и всякий раз снова и снова выбирать из BLOB искать внутри и выбать следующий? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:17 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
MainFrameДанные извлекаются фактически из BLOB. и всякий раз снова и снова выбирать из BLOB искать внутри и выбать следующий? И опять мы приходим к тому, что просчеты в проектировании структуры хранения выливаются в дополнительные навороты с сервером приложений и т.п. Печально все это... :( ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:19 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklin MainFrameВозможно, нам они не все известны, более того, точно не все. Но и Вы не преддложили решения, а многоточия все ставить умеют. Решения по оптимизации... Без какой-либо конретики в симптомах... Мдя... Кстати... MainFrameОбращений к базе меньше в сто раз. Нагрузка ложиться на сервер приложений. Ну и в чем "фишка" такого, с позволения сказать, распределения?! Вместо одного сервера, нужно два! Придеться реализовывать на сервере механизм кэширования, что уже реализовано в самой СУБД?! Зачем эти городушки?! Хуже того - три! Так как приходится и севрер приложений распрделять. НО с тремя серверами задача решается - достигается нужная производительность при нужном числе пользователей. А с одним (было у нас, поэтому есть с чем сравнить), не решается никак. Проивзодительность недопустимая. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:22 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklin MainFrameДанные извлекаются фактически из BLOB. и всякий раз снова и снова выбирать из BLOB искать внутри и выбать следующий? И опять мы приходим к тому, что просчеты в проектировании структуры хранения выливаются в дополнительные навороты с сервером приложений и т.п. Печально все это... :( Просчеты это были или нет не будем обсуждать. Во-первых, это не тема данного топика, во-вторых, поверьте, там были серьезные причины дял такого решения. И в ином варианте было еще больше минусов. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:25 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
MainFrame Данные извлекаются фактически из BLOB. и всякий раз снова и снова выбирать из BLOB искать внутри и выбать следующий? И опять мы приходим к тому, что просчеты в проектировании структуры хранения выливаются в дополнительные навороты с сервером приложений и т.п. Печально все это... :( Полностью согласен. MainFrame , кто Вас заставлял поля по которым идет выборка засовывать в БЛОБ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:30 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklinОй, дежавю... Вы 2С разработали?! Зачем, уже же есть 1С со всем известными ее проблемами?! Предположение неверно. Соответственно вывод тоже неправильный. Ну раз вы обладаете телепатическими способностями то опишите хотя бы пару-тройку проблем моей системы (проблемы 1С описывать не обязательно). tygraНу, мы просто не можем никак понять, зачем вам объекты со всеми их атрибутами и методами, которые как-то генерит какой-то специальный механизм. Почему непонятно - потому что непонятно, зачем делать сложнее, если можно проще, причем намного. Было бы у вас проще - мы бы другое говорили. Ну если после того, что я написал и некоторые другие участники обсуждения вы все никак не можете понять, то я думаю что обсуждать этот вопрос с вами дальше смысла нет. Это и так у меня отнимает кучу времени, чтобы приводить здесь еще начальный курс ООП. Почитайте какую-нибудь литературу полезную что ли, начиная от основ до "Паттернов проектирования" и например Фаулера "Архитектура корпоративных программных приложений". Вы же вроде в Озоне работаете, думаю с литературой проблем быть не должно :). ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:34 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Terrorist MainFrame Данные извлекаются фактически из BLOB. и всякий раз снова и снова выбирать из BLOB искать внутри и выбать следующий? И опять мы приходим к тому, что просчеты в проектировании структуры хранения выливаются в дополнительные навороты с сервером приложений и т.п. Печально все это... :( Полностью согласен. MainFrame , кто Вас заставлял поля по которым идет выборка засовывать в БЛОБ? Реальность заставила. потому что другиевопросы с BLOB решались на порядок быстрее (в другом месте и атм это было так же среьбзно) и во-вторых, какое имеет это значение? Как бы мы не индесировали - сто обращений к базе не сравним с одним. При этом структуры сложные, и даже если бы в этмо месте обошлись без BLOB теряли бы на другом после каждого обращения пришлось бы составлять сложную структуру - проще найти уже в созданных - поверьте, это на порядок быстрее. А все струткуры заполняются в самом начале, потом нужно находить только определенные поля. Т.е. мы в самом начале готовим все для отображения. и только говорим , что именно отображать. А там пришлось бы всякий раз не только к базе обращаться, но и из результата делать заготовку и только потом отображать - это долго. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:37 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
DrKonitoА вы могли бы конкретизировать, зачем кэшировать метаданные при логике в СУБД. Или вы про АДО,ДАО,ЛинкедСервера? Это да - любят они метаданные закачать :) Ну так их с умом надо использовать просто. Я говорю про свои метаданные - описание объектов, полей, методов, связей, иерархии наследования. База данных про это ничего не знает, это для нее такие же данные, как и все остальные, а для приложения это критически важные данные, к которым часто идут обращения. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:39 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
MainFrame Реальность заставила. потому что другиевопросы с BLOB решались на порядок быстрее (в другом месте и атм это было так же среьбзно) и во-вторых, какое имеет это значение? Как бы мы не индесировали - сто обращений к базе не сравним с одним. При этом структуры сложные, и даже если бы в этмо месте обошлись без BLOB теряли бы на другом после каждого обращения пришлось бы составлять сложную структуру - проще найти уже в созданных - поверьте, это на порядок быстрее. А все струткуры заполняются в самом начале, потом нужно находить только определенные поля. Т.е. мы в самом начале готовим все для отображения. и только говорим , что именно отображать. А там пришлось бы всякий раз не только к базе обращаться, но и из результата делать заготовку и только потом отображать - это долго. А вот сто обращений к вашему серверу и к базе, вполне сопоставимы. И при правльном проектировании, думаю БД будет быстрее. И не совсем понятно, что значит "готовим все для отображения"? Есть текст для, например, вопроса. Что с ним сделать для отображения нужно, что бы он был готов? Пожарить? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 12:57 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChНу раз вы обладаете телепатическими способностями то опишите хотя бы пару-тройку проблем моей системы (проблемы 1С описывать не обязательно). Наличие DSQL - вот самая большая проблема. Которая приводит к: 1. необходимости раздачи прав на таблицы (представления) = дыра в системе безопастности. 2. постоянная перекомпиляция хп, выполняющих это DSQL, что пагубно сказыватеся на производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 13:09 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
MainFrameХуже того - три! Так как приходится и сервер приложений распрделять. НО с тремя серверами задача решается - достигается нужная производительность при нужном числе пользователей. Зачем мне распределять сервер приложений, если я могу "умощнить" сервер СУБД для необходимой производительности?! MainFrameКак бы мы не индесировали - сто обращений к базе не сравним с одним. Конечно, чисто арифметически 100 > 1. Но Вы в своей арифметике забываете еще приплюсовать "затраты" на создание сервера приложений. И, уже, в который раз, мне непонятна попытка "разгрузить" сервер СУБД сервером приложений?! Единственно место, где я вижу необходимость среднего звена - это в системах с одновременным числом пользователей более, чем поддерживаемых сервером СУБД (32 768 для MS SQL). В таких системах без пуллинга коннектов на среднем звене необойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 13:16 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChЭто и так у меня отнимает кучу времени, чтобы приводить здесь еще начальный курс ООП. Не надо нам читать начальный курс ООП. У нас с этим делом нет проблем! От Вас просили привести объектную модель, которую Вы у себя используете. Не более того. Но, раз у Вас "нет времени", то рабди бога... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 13:21 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklin Наличие DSQL - вот самая большая проблема. Которая приводит к: 1. необходимости раздачи прав на таблицы (представления) = дыра в системе безопастности. 2. постоянная перекомпиляция хп, выполняющих это DSQL, что пагубно сказыватеся на производительности. С пунктом 2 согласен, об этом я писал уже... Так уж существенно это производительность не подсаживает, зато дает гораздо большую гибкость в разработке. Это просто вопрос выбора приоритетов. С пунктом 1 не согласен - здесь все зависит от настройки системы безопасности. К тому же при наличии сервера приложений можно вообще закрыть доступ пользователей системы к СУБД напрямую - соответственно безопасность для пользователя будет обеспечиваться логикой приложения, а не СУБД. Кстати, еще один плюс использования сервера приложений. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 13:23 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklinНе надо нам читать начальный курс ООП. У нас с этим делом нет проблем! От Вас просили привести объектную модель, которую Вы у себя используете. Не более того. Но, раз у Вас "нет времени", то ради бога... Да боюсь что у некоторых проблемы как раз есть, судя по задаваемым вопросам. И что-то я не видел призывов привести здесь объектную модель, вопрос был вообще в том, зачем я использую объекты, все ведь прекрасно без них работает. Просто разговор совершенно неконструктивный, и я не думаю, что даже если я потрачу кучу времени и распишу здесь объектную модель, что-то изменится. Кстати, процитированная реплика была обращена не к Вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 13:28 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklin MainFrameХуже того - три! Так как приходится и сервер приложений распрделять. НО с тремя серверами задача решается - достигается нужная производительность при нужном числе пользователей. Зачем мне распределять сервер приложений, если я могу "умощнить" сервер СУБД для необходимой производительности?! (позволю себе несколько риторических замечаний) 1) Как "умощнить" сервер СУБД - я знаю только один способ - кластер оракла - что Вы имели ввиду? 2) Если звезды зажигаются - значит это кому нибудь нужно - если сервера приложений существуют (и еще как существуют) - то это необходимая и полезная вещь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 13:35 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
авторС пунктом 2 согласен, об этом я писал уже... Так уж существенно это производительность не подсаживает, Как сказать... Как сказать... VladiChС пунктом 1 не согласен - здесь все зависит от настройки системы безопасности. К тому же при наличии сервера приложений можно вообще закрыть доступ пользователей системы к СУБД напрямую - соответственно безопасность для пользователя будет обеспечиваться логикой приложения, а не СУБД. Кстати, еще один плюс использования сервера приложений. Хм... Закрыть прямой доступ можно, не спорю, тем замым "закрыв" дыру в защите СУБД от использования DSQL. А вот дополнительные затраты на "безопасность для пользователя будет обеспечиваться логикой приложения" считаю не оправданными. Т.е. если это можно (нужно) сделать средствами СУБД, то зачем реализовывать этот функционал в среднем слое. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 13:36 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
pkarklinА вот дополнительные затраты на "безопасность для пользователя будет обеспечиваться логикой приложения" считаю не оправданными. А какие собственно дополнительные затраты? Разве у вас безопасность строится сиключительно на уровне безопасности СУБД? У вас же как я понял есть свой уровень безопасности для документов на уровне приложения? Так какие там получаются тогда дополнительные затраты? Насчет умощнения сервера СУБД что тут можно сказать - умощнение сервера СУБД стоит на порядок дороже, чем поставить дополнительный промежуточный сервер и фактически стоимость такого умощнения растет экспоненциально требованиям к производительности (не знаю ничего про оракловые кластеры, но думаю и там не все так радужно, т.к. все в результате упирается в производительность дисковой подсистемы, а полностью распараллелить обращения к дискам вряд ли получится, как ни кластеризуй). С другой стороны, даже в случае многозвенной архитектуры база данных все равно останется узким местом, сколько ни ставь серверов приложений, я прекрасно понимаю, что это не панацея. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 13:46 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiCh И что-то я не видел призывов привести здесь объектную модель, вопрос был вообще в том, зачем я использую объекты, все ведь прекрасно без них работает. Правильно! Но если не понятен вопрос до сих пор, разжуем: Зачем вы используете объекты, которые преобразуете из таблиц, ХП и еще из чего-то в БД , вместо прямого обращения к БД через ХП? Так понятнее? авторПросто разговор совершенно неконструктивный, и я не думаю, что даже если я потрачу кучу времени и распишу здесь объектную модель, что-то изменится. Конечно изменится! Мы наконец поймем, используете ли вы свою объектную модель для чего-то еще в приложении или только для того, чтобы вызвать один метод для разных унаследованных объектов с соответствующими параметрами . Ужас, если только второе, пытаюсь не верить - вот и прошу, чтобы показали. Жалко чтоли? Не надо всю модель расписывать, структуру работы и использования и особенно применения опишите. авторКстати, процитированная реплика была обращена не к Вам. К нам, к нам, мы это они :)) -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 13:50 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiCh pkarklinА вот дополнительные затраты на "безопасность для пользователя будет обеспечиваться логикой приложения" считаю не оправданными. А какие собственно дополнительные затраты? Разве у вас безопасность строится сиключительно на уровне безопасности СУБД? У вас же как я понял есть свой уровень безопасности для документов на уровне приложения? Так какие там получаются тогда дополнительные затраты? Нет, не на "уровне приложения", а именно на уровне "СУБД" из какого бы приложения не обратились к бд (хоть из QA). Пользователь не увидит докуенты, которые ему не положено видеть и не сможет менять документы, которые ему не положено менять! VladiChНасчет умощнения сервера СУБД что тут можно сказать - умощнение сервера СУБД стоит на порядок дороже, чем поставить дополнительный промежуточный сервер и фактически стоимость такого умощнения растет экспоненциально требованиям к производительности Абсолютно не согласен. Вы опять посчитали только малую толику затрат. Т.е. Вы не приплюсовали стоимость разработки третьего звена, которое можно было бы и не использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2005, 14:00 |
|
|
start [/forum/topic.php?fid=33&msg=33319583&tid=1548944]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
366ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 465ms |
0 / 0 |