SASGIS

Веб-картография и навигация

Поддержка PHP скриптов

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Re: Поддержка PHP скриптов

Сообщение Parasite » 29 мар 2011, 22:02

vasketsov писал(а):
Parasite писал(а):перлового однопоточного проксика

запускаю перл из простого батника, и апач мне не нужен )))))))

Perl'oeb detected. :)
PS: Перл вообще рулит - по сравнению с этим PHP это как циничный мощный в меру поюзаный грузовик по сравнению с новеньким лакированным нагловатым нахальным велосипедом лезущим вперед батьки.
Как говорили классики жанра, "PHP — это маленькое зло, созданное некомпетентными новичками, в то время как Perl — это большое и коварное зло, созданное умелыми, но извращёнными профессионалами© Jon Ribbens :ugeek:

Но что-то мне подсказывает, что САСу любых обоих двух ждать придется очень долго.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Поддержка PHP скриптов

Сообщение zed » 29 мар 2011, 23:21

Parasite писал(а):Но что-то мне подсказывает, что САСу любых обоих двух ждать придется очень долго.

Посмотрим. Исходники SAS у меня уже под рукой + разобрался с зависимыми компонентами (спасибо, vdemidov помог). Так что, завтра можно смело приступать :)

P.S. И будет хорошо, если кто-нибудь подгонит готовый php скрипт для тестов. GM пока не надо, а что-нибудь по-проще, где достаточно менять только хидеры.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Поддержка PHP скриптов

Сообщение Parasite » 30 мар 2011, 07:21

zed писал(а):P.S. И будет хорошо, если кто-нибудь подгонит готовый php скрипт для тестов. GM пока не надо, а что-нибудь по-проще, где достаточно менять только хидеры.

fsockopen() с примерами на пальцах: http://php.net/manual/ru/function.fsockopen.php
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Поддержка PHP скриптов

Сообщение vasketsov » 30 мар 2011, 11:55

И всё-таки я был прав насчёт поседания производительности на коннектах-дисконнектах.
Имеется почти что тривиальный нефорковый прокси-скрипт на перле (почти - потому что вся нетривиальность заключается в запросе png, если нет jpg, ну и адрес пописать корректно пришлось, чтоб не в сасе его формировать).
Разница при включении или отключении keep_alive => 1 для юзерагента колоссальная (все прочие объекты и переменные реюзаются, а не создаются заново при необходимости).
По скорости отдачи тайлов в сасе где-то до 4-6 раз отличается (понятно, что цифры немного завышены, ибо при попадании в png идёт 2 запроса, но большая часть запросов попадает, так что цифры примерно были бы верны для "голого" проксика).
Понятно, что конкретные цифры зависят и от инета, и от канала, и от прокси, и от фазы луны, и ещё дофига от чего, но тем не менее в моменте цифры были именно такие.
Причём визуально в быстром варианте кажется, что быстрее чем напрямую получается (в принципе, это возможно, но большого смысла проводить на эту тему исследования не вижу).
Так что лично для меня пока что коннект-диконнект на каждый тайл из php из саса представляет сугубо академический интерес.
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 198 раз.

Re: Поддержка PHP скриптов

Сообщение Parasite » 30 мар 2011, 12:49

vasketsov писал(а):И всё-таки я был прав насчёт поседания производительности на коннектах-дисконнектах.
лично для меня пока что коннект-диконнект на каждый тайл из php из саса представляет сугубо академический интерес.

Это всё понятно - коннект\дисконнект разумеется отъедают время (да еще и могут банально вычисляться\баниться сервером сугубо по числу установленных\сброшенных соединений за единицу времени, ибо браузеры обычно умеют Keep-Alive). Но согласитесь: САС со скриптами и хидерами, хоть и неповоротливый - это все же намного лучше, чем просто неповоротливый САС (бо он и сам коннект\дисконнект делает сейчас на к.тайл, если это еще втихушку разработчики не поправили).
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Поддержка PHP скриптов

Сообщение vasketsov » 30 мар 2011, 13:17

Parasite писал(а):это все же намного лучше

Это "намного" я вижу исключительно как прорыв по одному из политических старых вопросов. То есть для меня это не техническая проблема, что хедеры в паскальскрипт вытащить, что сторонние скрипты привязать. Не говоря уже о том, что это php, на котором я не пишу. Подвешивая скрипт на локалхосте на определённом номере порта, даже настройки прокси не надо править, просто в zmp прописыватся порт, и всё (и в качестве бонуса возможность любого изменения запроса без перезапуска саса). С теми же усилиями, но прокси висит и на каждый сервис не рвёт коннект.

Возможно надо было у простых сермяжных юзеров спрашивать, готовы ли они поставить php (причём возможно конкретной версии) ради того, чтобы а) космоснимки были без квадратиков и б) гугл авторазбанивался вместо ручного доказательства "я не робот". Оба бонуса по разным причинам лично мне неактуальны, первое ещё более тривиально пишется, чем описанное выше, со вторым разбираться лениво (как и с установкой php), гугл меня банит редко, врукопашную пока устраивает. Больше бонусов я не вижу, но я не всеми картами пользуюсь.
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 198 раз.

Re: Поддержка PHP скриптов

Сообщение Parasite » 30 мар 2011, 14:15

vasketsov писал(а):Оба бонуса по разным причинам лично мне неактуальны

Лично мне они тоже неактуальны в общем и целом (если не ограничиваться только САСом) - но мы тут все же не лично для себя переписываемся, а активны в теме "САС для разработчиков". То есть, каждый в меру своих сил пытаемся сделать софтинку немножко лучше. И в этом свете имхо САС со скриптами гораздо лучше чем без оных, и лично я бы хотел посмотреть и пощщупать как оно будет. Благо что фича обещает быть опциональной, и ставить полный пакет PHP всей массе юзеров вовсе не придется.

А что там у каждого на локалхосте на наст.момент - это уже за рамками данного форума, однако. Я вот например тоже юзаю далеко не только голый САС.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Поддержка PHP скриптов

Сообщение zed » 30 мар 2011, 14:21

vasketsov, не гоните волну, что называется. Пока что задача: вклиниться и прикрутить, а потом уже будет видно что там можно оптимизировать/ускорить, а что нельзя. Как там и что будет с коннект/дисконнект - посмотрим. Хэндл сокета передать не проблема, но вопрос подхватит ли следующий скрипт этот хэндл. Т.е. мне пока неизвестно насколько хорошо потрудится пэхапэшный сборщик мусора и не разорвёт ли он самостоятельно все коннекты.
vasketsov писал(а):готовы ли они поставить php (причём возможно конкретной версии) ради того

А ставить его и не надо. Рядовому пользователю по-идее должно хватить базовых возможностей самого php (без расширений) - а это всего одна дополнительная dll в директории сас.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Поддержка PHP скриптов

Сообщение vasketsov » 30 мар 2011, 17:03

zed писал(а):Пока что задача: вклиниться и прикрутить

Дело в том, что "вклиниться и прикрутить" хедеры в паскальскрипт проще, чем сторонний скрипт. Для этого в паскальскрипте достаточно опубликовать 2 функции (а по сути даже одну, если читать хедеры не надо, а только SetHeader('Referer','http://superpupersite.ru') достаточно), а внутри они пусть прямо к объекту клиента http лезут. И быстрее, и понятнее.
Понятное дело, что если нужны извращения и дополнительные запросы именно в сасе, лучше иметь скрипт.

zed писал(а):насколько хорошо потрудится пэхапэшный сборщик мусора и не разорвёт ли он самостоятельно все коннекты

Тогда придётся передавать в скрипт явный признак, что скрипт вызван исключительно чтобы подчистить созданное ранее (или почти аналогичный по сути но несколько более сложный в реализации признак "последний запуск скрипта" с возможным лишним вызовом). Ну или отдельную секцию деинициализации выдумывать, что более коряво с точки зрения последующего использования.
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 198 раз.

Re: Поддержка PHP скриптов

Сообщение zed » 30 мар 2011, 17:28

vasketsov писал(а):Дело в том, что "вклиниться и прикрутить" хедеры в паскальскрипт проще, чем сторонний скрипт.

Кому проще? Мне пока что проще с php.
vasketsov писал(а):Тогда придётся передавать в скрипт явный признак, что скрипт вызван исключительно чтобы подчистить созданное ранее

На сокеты в php по-моему поставлен дефолтный таймаут - 60 сек (можно и переопределить при желании). Так что, в любом случае оно подчистится и само.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Пред.След.

Вернуться в Раздел для разработчиков программы SAS.Планета

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

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