OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 13 Октябрь, 2019 23:51

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: CGI и т.п.
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 09:44 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4507
Откуда: Россия, Орёл
Отделено: viewtopic.php?p=66568#p66568

Madzi писал(а):
Причём CGI считается одним из основных источников потенциальной угрозы, поэтому от него отказываются.
Мне кажется, что потенциальная угроза заключается не в CGI, а в языке на котором пишут. Грубо говоря, если 99% CGI написаны на Си, то приведённое высказывание имеет место. Но это не наш случай.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 10:11 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1213
Откуда: Украина, Киев
CGI это всего лишь Common Gateway Interface, т.е. интерфейс.
Источник проблем именно в низкой надёжности скриптов работающих через CGI.
Данный форум тоже использует CGI, а написан на PHP. Если написать движок форума на Обероне уже этот факт сам по-себе поднимет надёжность на порядок.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 10:13 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9147
Откуда: Россия, Орёл
CGI, в полном смысле, подразумевает ещё конкретный режим вызова динамического обработчика - запуск приложения, передачу входных параметров через переменные окружения ОС и забор выхода со stdout.
Это очень медленно.

PHP работает в режиме модуля к Апачу.

Либо есть ещё FastCGI - когда HTTP-сервер устанавливает сетевое соединение к обработчику.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 10:48 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1213
Откуда: Украина, Киев
А оно в любом случае очень медленно, что спереди, что сбоку.
Для этого и придумали Ajax.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 11:13 
Аватара пользователя

Зарегистрирован: Суббота, 12 Июль, 2008 22:49
Сообщения: 573
Откуда: Россия, Санкт-Петербург
Ярослав Романченко писал(а):
А оно в любом случае очень медленно, что спереди, что сбоку.
Для этого и придумали Ajax.

Ajax - не совсем для этого. Например, имея мы быстрый канал, без Ajax, тяжело себе представить автодополнение. А так - пожалуйста.
Это всего лишь инструмент динамической связи между браузером и сервером.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что с oo2c?
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 11:32 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1213
Откуда: Украина, Киев
Madzi писал(а):
Например, имея мы быстрый канал
Чем быстрый канал мешает? :D
Аjax как-раз штука взамен медленного CGI, открываем канал и быстро-быстро обмениваемся пакетами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 11:44 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 661
Откуда: СССР
Спасибо за интерес


Последний раз редактировалось Kubanych Воскресенье, 23 Октябрь, 2011 02:01, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 12:39 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1213
Откуда: Украина, Киев
Kubanych писал(а):
Так что компилированные через oo2c программы при одинаковом способе подключения будут работать быстрей php.
Всё верно до этой фразы. Компилированные программы будут ведь только на стороне сервера, и каждый HTTP запрос это по сути запуск исполнимого файла с передачей ему входны параметров и получением выходных.
Ajax же это по-идее один инициализирующий HTTP запрос, а дальше взаимодействие без HTTP запрос посылкой пакетов по установленному соединению.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Пятница, 21 Октябрь, 2011 13:31 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9147
Откуда: Россия, Орёл
Нет, Ярослав, не совсем так.

Ajax - это маркетинговое название для всяких возможных применений для объекта, предоставляемого всеми современными браузерами - XMLHttpRequest.
Суть этого объекта простая - возможность из JS отправить HTTP-запрос на сервер и дождаться ответа.
Это происходит точно так же, как любой другой HTTP-запрос. Сервер вообще не может знать, то ли этот запрос пришёл через адресную строку (если GET), то ли через форму, то ли от JavaScript. Для него это просто запрос. Вызов обработчиков, соответственно, ничем не отличается (если это php, то mod_php, если бинарник - то CGI; может быть, FastCGI...)
Ajax-приложение взаимодействует с сервером серией HTTP-запросов.

То, про что говорите Вы - мечта веб-разработчиков. Гугл предложил и, по-моему, реализовал в Хроме, так называемые веб-сокеты (возможность открыть сетевое соединение и гонять через него потоки данных). Но до стандарта дело ещё далеко.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Вторник, 29 Январь, 2013 13:51 

Зарегистрирован: Вторник, 05 Январь, 2010 21:31
Сообщения: 1101
Откуда: Харків, Данилівка
Евгений Темиргалеев писал(а):
Отделено: viewtopic.php?p=66568#p66568

Madzi писал(а):
Причём CGI считается одним из основных источников потенциальной угрозы, поэтому от него отказываются.
Мне кажется, что потенциальная угроза заключается не в CGI, а в языке на котором пишут. Грубо говоря, если 99% CGI написаны на Си, то приведённое высказывание имеет место. Но это не наш случай.

Почему бы не писать ISAPI приложения на Oberon? Не силен в этом вопросе, но разве в этом случае недостаточно инструмента способного производить DLL?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Суббота, 11 Апрель, 2015 21:48 

Зарегистрирован: Воскресенье, 04 Январь, 2009 12:00
Сообщения: 52
кто нибуть пробовал делать свой сервак?

по примеру Go
http://thenewstack.io/building-a-web-server-in-go/

какие есть средства у oberon для создания легковесных потоков или корутин?

перед таким можно было б поставить nginx как прокси.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Вторник, 14 Апрель, 2015 23:43 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
perloid писал(а):
какие есть средства у oberon для создания легковесных потоков или корутин?

Coroutines вместо потоков


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Вторник, 28 Апрель, 2015 05:53 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2389
Я пробовал делать свой сервер, он вполне работает даже.
Сделан на базе Linux версии http://gitlab.molpit.com/oberon/blackbox-freenix
Вот тут написано как его запустить:
http://gitlab.molpit.com/oberon/blackbo ... ver/README

Потоков там не используется, вот исходный код главного модуля:
http://redmine.molpit.com/projects/blac ... Server.odc


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Четверг, 13 Август, 2015 23:19 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1133
Откуда: СССР v2.0 rc 1
CGI медленный только теоретически. Если запросы поступают часто, то ОС не успевает выгрузить из памяти CGI-обработчик. На примере программы дорасчёта для оперативно-информационного комплекса -- скрипт на python первые 30 сек отрабатывает за 430 мсек. После этого интервала скрипту требуется всего 32 мсек. Объём расчётных данных не меняется. Вин7. Рам-диск ещё прибавит скорости на первых порах. Экзешник на КП отработает за сотни микросекунд. Веб-сервер на python через CGI способен на средней машине выдавать простенькую страничку 20к-30к раз в секунду)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Пятница, 14 Август, 2015 10:30 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9147
Откуда: Россия, Орёл
prospero78 писал(а):
Веб-сервер на python через CGI способен на средней машине выдавать простенькую страничку 20к-30к раз в секунду)


Знаете, я очень сильно сомневаюсь в этой цифре. Даже native-сервер типа NodeJS не отработает 20-30К раз в секунду "на средней машине" (максимум он отработает 20-30К независимых запросов суммарно по разным соединениям - и то вряд ли, а на одном соединении ему не даст латентность TCP для последовательного "запрос-ответ-запрос-ответ...").

А как Вы тестировали?
Я когда-то получал цифры такого порядка, тестируя JS-скриптом через AJAX. Выяснялось, что браузер тупо кэшировал ответ :) И вот тогда получались подобные цифры.

Могу ошибаться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Пятница, 14 Август, 2015 13:04 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1133
Откуда: СССР v2.0 rc 1
Так точно. Мультитредовость+ подготовка страниц заранее. У меня была опережающая очередь на 10 запросов. Страница отдавалась около 20 кБ, одна и та же. Форум на черняховск.ком -- раздел программирование, сетевой клиент для железнодорожных и автомобильных весов Metller Toledo. ГНУ. ) Там есть встроенный веб-сервер, смотрите документацию в встроенной справке клиента) И кстати, веб-сервер --тоже на питоне))) Раздельное достижимое пространство имён.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Понедельник, 02 Май, 2016 22:30 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 1213
Откуда: Украина, Киев
prospero78 писал(а):
Если запросы поступают часто, то ОС не успевает выгрузить из памяти CGI-обработчик.
Тоже наблюдал такое. Видимо, банально, дисковый кэш ускоряет последующие загрузки CGI-скрипта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Вторник, 27 Декабрь, 2016 16:34 

Зарегистрирован: Воскресенье, 04 Январь, 2009 12:00
Сообщения: 52
у меня возникла идея - readonly БД на oberon.
индексы и запросы генерятся в код oberon и компилируются по крону.
далее клиент вызывает cgi скрипт который делает выборки и возращает некий набор id или же непосредственно данные.

фасетный поиск вобщем.
делал такое на PHP массивах и получал цифры намного более лучшие чем mysql - но с oberon должно быть еще намного быстрее?
плюсы - не нужно никуда коннектится т.к. все данные хранятся в коде.
набор данных по сути список подготовленных массивов по которым делается проход и всяческие объединения или пересечения
т.е. этакая реализация множеств и подсчет кол-ва элементов множеств.

как считаете имеет смысл?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Вторник, 27 Декабрь, 2016 16:47 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 909
Откуда: Киев
perloid писал(а):
делал такое на PHP массивах и получал цифры намного более лучшие чем mysql

Сравнивать нужно было с NoSQL.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CGI и т.п.
СообщениеДобавлено: Вторник, 27 Декабрь, 2016 19:08 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9147
Откуда: Россия, Орёл
А чо уж там, генерите сразу в топологию ПЛИС, будет тема )))
Шутка, но для некоторых применений - не шутка.

Кстати, ускорители схемные для серверов БД делают иногда.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB