Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2009, 16:55   #11
exploys
Пользователь
 
Регистрация: 21.05.2009
Сообщений: 21
По умолчанию

В предложеных примерах рассматривается вариант получения данных из БД MySQL в ActionScript через PHP. Но вообщемто начиная в последних версиях ActionScript походу уже и так реализовано взаимодействие между MySQL и ActionScript через MySql Driver http://code.google.com/p/assql/
Т.е. смысла особого не вижу делать это через php.

Про PHP через FastCGI здесь вычитал http://dklab.ru/chicken/nablas/49.html
Как понял процесс один, но интерпретатор инициализируется каждый раз заново.
"однако прирост скорости на загрузку кода, который вы от этого получите, будет нулевым....ведь чтобы запустить любой PHP-скрипт в FastCGI-режиме, его не приходится дорабатывать. Ни строчки измененного кода!...хотя в рамках одного FastCGI-процесса обрабатываются несколько соединений, PHP-интерпретатор каждый раз инициализируется заново (в отличие от "классического" FastCGI)"

Т.е. получается взамиодействие:
php ---(XML)--->ActionScript
и
php <---(LoadVariables)--->ActionScript
Тут вопрос такой насколько это быстро при огромном количестве обращений?

Я достаточно хорошо знаю C++/Delphi/Asm и немного знаком с веб-программированием, но совсем не знаком с взаимодействием между ними. Так а через что взаимодействовать С++ при большом количестве обращений?
C++ <----(?)---->ActionScript
C++ <----(?)---->PHP
exploys вне форума Ответить с цитированием
Старый 08.06.2009, 18:18   #12
cronfy
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 92
По умолчанию

Цитата:
Сообщение от exploys Посмотреть сообщение
реализовано взаимодействие между MySQL и ActionScript через MySql Driver http://code.google.com/p/assql/
Т.е. смысла особого не вижу делать это через php.
Смысл в том, что связь — дело медленное. При огромном количестве обрашений пользователей к mySQL-севреру напрямую у вас постоянно будет висеть несколько тысяч соединений с mySQL — интернет быстрый не у всех, а ждать конца соединения будут все. Не думаю, что серверу это понравится и положительно скажется на его производительности.

Другое дело, когда запрос принимает nginx (который может держать десятки тысяч соединений), а php (или что у вас там) быстро-быстро через локальный сокет делает запрос к mysql. А может быть даже какой-то набор воркеров, которые держат постоянное соединение с mySQL и быстро-быстро выполняют запросы.

Цитата:
Т.е. получается взамиодействие:
php ---(XML)--->ActionScript
и
php <---(LoadVariables)--->ActionScript
Тут вопрос такой насколько это быстро при огромном количестве обращений?
Тут встречный вопрос: а какая у вас альтернатива? Ну, может быть, от XML можно отказаться — не надо будет парсить и держать лишнее расширение php.

Цитата:
Так а через что взаимодействовать С++ при большом количестве обращений?
C++ <----(?)---->ActionScript
C++ <----(?)---->PHP
Если у вас обработчик написан на C++, и он у вас умеет FastCGI, то PHP вам не нужен. Или я неверно понял вопрос?
SPRINTHOST.RU — вот, что я люблю ;-)
cronfy вне форума Ответить с цитированием
Старый 09.06.2009, 02:34   #13
exploys
Пользователь
 
Регистрация: 21.05.2009
Сообщений: 21
По умолчанию

Цитата:
Сообщение от cronfy Посмотреть сообщение
Смысл в том, что связь — дело медленное. При огромном количестве обрашений пользователей к mySQL-севреру напрямую у вас постоянно будет висеть несколько тысяч соединений с mySQL — интернет быстрый не у всех, а ждать конца соединения будут все. Не думаю, что серверу это понравится и положительно скажется на его производительности.
Привык работать с базами Oracle и Firebird на хороших серверах, они лекго держат очень много соединений
А на каком количестве соединений на среднем хостинге MySQL начнёт загинаться?

Цитата:
Сообщение от cronfy Посмотреть сообщение
Другое дело, когда запрос принимает nginx (который может держать десятки тысяч соединений), а php (или что у вас там) быстро-быстро через локальный сокет делает запрос к mysql. А может быть даже какой-то набор воркеров, которые держат постоянное соединение с mySQL и быстро-быстро выполняют запросы.
Т.е. получается такая типа трехзвенка, MySQL--PHP--AS, которая позволяет держать экономное количество соединений.

Цитата:
Сообщение от cronfy Посмотреть сообщение
Тут встречный вопрос: а какая у вас альтернатива? Ну, может быть, от XML можно отказаться — не надо будет парсить и держать лишнее расширение php.
Из двух вариантов XML или LoadVariables, второе наверное быстрее.

Цитата:
Сообщение от cronfy Посмотреть сообщение
Если у вас обработчик написан на C++, и он у вас умеет FastCGI, то PHP вам не нужен. Или я неверно понял вопрос?
Я наверное не совсем ястно выразился.
Надо написать не
С++ <---->PHP<---->AS
а
C++ <---->PHP
\<------->AS


Т.е. по сути будут две схемы
Клиент<------->PHP<------->C++<------->MySQL
Клиент<------->AS<------->C++<------->MySQL

И при этом обеспечивать огромное количество обращений между:
PHP<------->C++
и
AS<------->C++

Как варианты:
- есть Thrift, но он только для C++ и PHP, AS вроде не поддерживает.
- AMF(вроде и PHP и AS)
- XML
- SOAP
- FastCGI

Я не совсем разбираюсь, если что поправте, возможно что-то из перечисленного включает одно в другое.

И весь вопрос в том что из этого достаточно для обеспечения подобного рода связи при расположении С++ и AS на разных физических серверах.
exploys вне форума Ответить с цитированием
Старый 10.06.2009, 02:48   #14
cronfy
Пользователь
 
Регистрация: 09.10.2008
Сообщений: 92
По умолчанию

Число соединений не скажу. Зависит сильно от того, что вы этими соединениями делаете. Средний хостинг будет на вас скорее всего косо глядеть, если вы несколько десятков соединений будете одновременно держать. А то и меньше.

По поводу остального. Проясним ситуацию, хорошо?

Под AS, я так понимаю, вы подразумеваете нечто Flash'овое. Таким образом, это и есть Клиент.

На сервере, если заботиться о производительности, должен отвечать ЛИБО php, ЛИБО C++. Из PHP C++ вызывать, я уже писал — убийство сразу.

Так как вы упорно взываете к C++ , то получается связка:

Клиент(AS) -> сервер (nginx) -> C++, работающий как FastCGI (вам нужно будет реализовать FCGI-интерфейс в вашем C++ приложении) -> mySQL.

Вы бы описали подробнее, что за проект, какая планируется посещаемость — было бы проще отвечать. Может, в аську/джаббер переключимся?
SPRINTHOST.RU — вот, что я люблю ;-)
cronfy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СРОЧНО! Нужно соединить данные из 2-х таблиц Serrgg Microsoft Office Excel 3 31.12.2008 15:31
Нужно реализовать на php такую штуку samiro PHP 2 08.02.2008 22:51
StringGrid. Нужно вводить данные (записи). Максим-2 Общие вопросы Delphi 5 29.07.2007 19:15
Мне нужно выбрать данные из первого запроса, если он вернул хоть одно число=числу из nata Общие вопросы Delphi 8 05.06.2007 23:57