Просмотр полной версии : шлюз на php или сервер на С
lemegeton
23.03.2007, 18:28
Всем привет. Есть работа выполненная на Flash+PHP+MySQL.
Т.е. графический интерфейс написан на AS2. Логика работы заложена в PHP и хранение данных MySQL. Flash соединяется с php скриптами через шлюз на php amfphp.
Но при высоких скоростях доступа в интернет, достаточно низкая скорость работы приложения. Я думаю написать на си сервак, к которому будет конектится клиент на AS3 через сокеты пересылать данные структурируя их XML. А вот уже сервак будет дальше решать проблему взаимодействия с базой.
Вопрос в том, насколько это повысит скорость обмена данными между клиентом и сервером.
Может быть есть какие-то другие решения данной задачи?
С уважением, Алексей.
motor4ik
23.03.2007, 18:44
web-services , soap
lemegeton
26.03.2007, 10:51
Так а чем плох вариант Си+AS3?
А кто сказал, что плох? Оправдан ли?
lemegeton
26.03.2007, 11:33
так вот и я о том же... Увеличится ли скорость и надежность? или будет пустая трата времени? вот в чем вопрос...
Просто понимаете, при работе по технологии Flash+AMF+PHP+MySQL прога бывает тормозит... При обращении к базе не всегда происходит успешный вызов. Приходится проверять возвращаемое значение функции на php и если оно не удовлетворяет блокировать экран и повторять операцию... Вот и встал вопрос о выборе другой коснтрукции приложения
Сокет имеет смысл применять, если требуется обеспечить двусторонную связь. В противном случае использовать методы, предложенные моторчиком.
Я в этих сервисах не специалист, что-то конкретное подсказать не могу, но это примерно то же, что и AMF.
lemegeton
26.03.2007, 12:22
Да 30-40 процентов вызываемых функций, возвращают массив данных, которые используются клиентом на флеш. Значит Вы советуете в данном случае использовать сокет?
Под двусторонней связью я подразумевал возможность инициирования соединения сервером. Если вам это необходимо, то используйте сокет.
Впрочем, потянет ли сокет одновременно большое кол-во народу тоже не факт.
lemegeton
26.03.2007, 14:47
А никто не знает, есть ли смысл использовать С#? Не будет такая конструкция работать быстрее и надежнее?
Всё зависит от того, как надежно будет написано.
8888
Это не вопрос - какой сервак, какое подключение, и т.д. ваще такая связка у всех нормалных людей работает идеально. Понятно на никсе. Понятно если глюков в коде нет.
lemegeton
26.03.2007, 15:46
А на счет скорости, что скажите? Я читал, что работает вся эта байда не быстро, типа ActivX... Хотя некоторые говорят, что будет летать потому как технология сама по себе предпологает компиляцию один раз перед первым запуском... Вообщем осталось дело за малым сделать выбор :)
lemegeton
26.03.2007, 15:58
Это не вопрос - какой сервак, какое подключение, и т.д. ваще такая связка у всех нормалных людей работает идеально. Понятно на никсе. Понятно если глюков в коде нет.
Какая именно связка работает идеально?
Как раз таки вопрос абсолютно нормальный. Каждая технология имеет свои плюсы и свои минусы. Вот как раз это я и хочу выяснить. Я считаю, что использование шлюза, который потом подрубает скрипты тормозит работу... Если я не прав, поправьте меня и объясните почему.
Демон на мой взгляд будет работать быстрее хотя бы потому что не надо грузить интерпритатор php... Вообщем поиски на самом деле абсолютно логичны. А с Вашим подходом можно писать страницы на html и только и говорить - Это работает. Поэтому не надо ничего искать!
Какая именно связка работает идеально?
Как раз таки вопрос абсолютно нормальный. Каждая технология имеет свои плюсы и свои минусы. Вот как раз это я и хочу выяснить. Я считаю, что использование шлюза, который потом подрубает скрипты тормозит работу... Если я не прав, поправьте меня и объясните почему.
Демон на мой взгляд будет работать быстрее хотя бы потому что не надо грузить интерпритатор php... Вообщем поиски на самом деле абсолютно логичны. А с Вашим подходом можно писать страницы на html и только и говорить - Это работает. Поэтому не надо ничего искать!
Так что за платформа?
lemegeton
26.03.2007, 16:14
Платформа Linux Fedora. Но если возникнет необходимость использовать C#, то можно и Windows сервак арендовать.
Платформа Linux Fedora. Но если возникнет необходимость использовать C#, то можно и Windows сервак арендовать.
Не знаю, я бы сначало протестил отдельно серверную часть. Причем, с записью реальных таймов. Просто вы вопрос задали в таком интересном разделе...
Есть мнение, что под виндой мускул ваще выпадет в осадок.
Под Феодорой как то всего многа напихано и есть подозрение, что то там лишнее висит или настройки там какие. Не могет такого быть, что тормоза были по вине пхп. Не, они конечна могут быть, в случае мега проекта с 1000 одновременных подключений.
lemegeton
26.03.2007, 18:20
Да... ну может быть конечно, что где - то есть реальный подводный камень... Буду разбираться. По видимому придеться все равно писать тесты и сравнивать параметры.
Всем большое спасибо.
советую внедрить таймеры в разных частях системы что выявления этого "подводного камня". Сам пользовался и тем и тем вариантом, и предпочитаю использовать пхп для записи данных так как Си сервер, не намного обгоняя пхп по скорости, является просто не оправданно сложным в реализации решением, по крайней мере нет никаких "видимых" задержек при использовании пхп. мое подозрение привлек бы механизм передачи данных от флеша к пхп в первую очередь.
Удачи
lemegeton
28.03.2007, 15:41
Спасибо
BlooDHounD
28.03.2007, 18:40
Ну рас тут нет знатоков, то выскажусь я, как человек тесно связаный с такой системой.
Отличия сокетных соединений изначально заложено в подходе.
Апач, как сервер, на каждое сокетное соединение создаёт новый поток. Это связано с тем, что каждое конкретное соеденение не общается друг с другом. И каждый запуск скрипта индивидуален и не нуждается в общении своих запущеных копий. Каждый новык поддерживаемый поток требует конкретных затрат памяти и процессорного времени.
У С для обработки сокетов используется один поток. Так как изначально заложен болие низкий уровень, и большие требования. Например соеденения могут общаться друг с другом, напрямую с памятью и т.д. Один единственный поток экономит ресурсы в 10ки раз.
Например грамотно написаный С сервер на линуксе сможет одноверенно держать около 20 тысяч соединейний. Апач ляжет. По энерго затратам, разница в 100 соединений и 10000 будет практически не различима.
Это все верно, но в контексте данной задачи, я не уверен, что это нужно. Если это не чат или что-то для взаимодействия с несколькими пользователями.
BlooDHounD
28.03.2007, 20:17
ну так как про конкретную задачу ничего не известно, кроме вопроса "у кого писька длинее", то и ответ у меня такой же.
Ну в первом посте ж было написал PHP+MySQL. Врядли тут нужен сокет…
я думаю что причина в кривых ручках... былобы нефигово посмотреть на то что там в ПХП коде твориться и что там БД. Знаем мы некоторых граматеев) которые че хочишь положат своими перлами.
Ну БД тормозить может, например, из-за виртуального хоста. А на вирт. хост и сокет-то не поставишь…
motor4ik
29.03.2007, 13:46
все зависит от времени, средств... Си +as3 нормальный вариант, если он может писать. пусть пишет ))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.