За последние 24 часа нас посетили 17195 программистов и 1628 роботов. Сейчас ищут 1156 программистов ...

Обрыботка запросов единым процессом

Тема в разделе "Прочие вопросы по PHP", создана пользователем Raa, 28 июл 2006.

  1. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Народ, подскажите пожалуйста, существуют ли способы обрабатывать запросы одним процессом PHP? Подобное желание связано с большими затратами на подготовку данных перед выполнением основных действий скрипта. Серриализация проблематична. Да и копировать данные тоже не хочется, так как при одновременной обработке запросов память быстро иссякнет. Хотелось бы иметь некое подобие объекта Application в ASP, посредством которого обработчики запросов могли бы обмениваться данными, не выгружая их из памяти и не сбрасывая их в файл или БД.
     
  2. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Если кто-то считает, что это невозможно, или что это полный бред, то таких также прошу выссказаться :) Интересно услышать любые мнения по данной теме.
     
  3. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
  4. Vah

    Vah Активный пользователь

    С нами с:
    15 май 2006
    Сообщения:
    228
    Симпатии:
    0
    можно написать "демона", который будит постоянно запущен, хранить данные и обрабатывать их..... но это лучше не на пхп делать а на С++
     
  5. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Да! Это именно то, о чем я говорю! Большое Спасибо :)
    Одна только проблема с SRM: он не работает с PHP 5.x.

    Вы правы. Я тоже об этом думал. И все-таки, у PHP есть одно великолепное достоинство: это скрипт :) Его можно обновлять без приостановки приложения, его не нужно перекомпилировать после каждого изменения, плюс еще масса достоинств самого языка PHP. В общем, не хочется распрощаться со всеми этими привыкшимися удобностями :) Поэтому и ищу возможность скрестить демона и PHP.
     
  6. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    в версии 0.8.0 обещают сделать поддержку пхп5. остается только ждать. :) или самому что-то подобное делать...
     
  7. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Кстати, Script Running Magic связывает PHP и демона посредством сокетов. Это дает возможность размещать SRM на другом сервере. Также там сказано, что если SRM находится на той же машине, где и веб-сервер, то можно использовать домены unix, что даст скорость примерно в 12 раз выше чем с сокетами TCP/IP. Возникла мысль о том, что можно просто запустить PHP скрипт как демона, и посредством сокетов связываться с ним. Вероятно, это будет куда быстрее, чем писать в файл? А при желании можно и организовать делегирование удаленных объектов. Я вот только никогда не работал с сокетами в PHP. Может ли кто-нибудь сказать, как организовать обмен данными между двумя скриптами PHP с использованием доменов unix, и что это вообще за домены такие?
     
  8. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    А может быть тогда уже проще будет написать веб-сервер на PHP и инклюдить запрашиваемые страницы? :)))))
     
  9. Vah

    Vah Активный пользователь

    С нами с:
    15 май 2006
    Сообщения:
    228
    Симпатии:
    0
  10. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Ага, ну я так и подумал :)

    Понял. Спасибо большое :))
     
  11. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Кстати, по поводу веб-сервера на PHP - это я вполне серьезно :-D Это могло бы решить проблему с глобальными объектами :) Кто-нибудь встречал подобное извращение? Покапался в инете - нашел только шучтоные упоминания о "веб-сервер на PHP" рядом с "ОС на Perl" :))
     
  12. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    пхп не для этого предназначен. имхо.
     
  13. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    И тем не менее используется он довольно широко. Я неоднократно встречал довольно популярные консольные утилиты, написанные на PHP. Казалось бы, вроде не для этого, а ведь используется! :) Мало того, так оказывается, что PHP популярен и при решении всяческих математических вычислительных задач. В каких областях его еще используют - остается только догадываться. Так что, наверное, имеет больше смысла говорить об областях преминения, а не о назначении :)
    simpson, Как Вы считаете, почему PHP не подходит для этой задачи?
     
  14. Vah

    Vah Активный пользователь

    С нами с:
    15 май 2006
    Сообщения:
    228
    Симпатии:
    0
    начнем с быстродействия такого сервера.....
     
  15. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Согласен, быстродействие у него будет не ахти какое. В сравнении с сервером Apache. А если сравнивать с временем выполнения запрашиваемого скрипта: среднестатистическим, с запросами к базе и с обработкой результатов перед выводом? Тогда, наверное, временем обслуживания запроса веб-сервером, писанным на PHP, можно пренебречь? Разве что на статических файлах разница, наверное, будет заметна, но их можно оставить и под апачем, так как они не имеют никакого отношения к решению поставленной задачи.

    Меня вот смущает другая проблема: я не вижу способа организации многопоточной обработки запросов в рамках одного процесса. Чтобы скрипты работали параллельно, их все равно прийдется запускать под разными процессами. А так теряется вся выгода и смысл. Я правильно мыслю? :)
     
  16. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    зачем изобретать велосипед?.. с одним колесом... да и тем - квадратным...
     
  17. Raa

    Raa Активный пользователь

    С нами с:
    28 июл 2006
    Сообщения:
    209
    Симпатии:
    0
    Потому как не хочется возвращаться к четвертому PHP
    __________________
    Идея достойна существования только тогда, когда она достаточно безумна. (с) Эйнштейн