Здравствуйте Столкнулся с такой проблемой, есть сайт на php. Для динамического обновления переменных использовал ajax, подгружал в невидимый блок интервалом в 2сек, и собственно все работало, но количество пользователей на сайте возросло и при одновременном наличии более 50 пользователей онлайн, сервер ложиться. Почитал интересные статьи про веб-сокеты, но времени на изучение сейчас нету. Задача: Сделать скрипт используя websockets который динамично бы обновлял переменные. Возможно это? И сколько стоит будет? В лс пишите сразу с ценой пожалуйста
Не пробовали оптимизировать скрипт, который вызывается через ajax? мой емайл для обсуждения - mshdn@rambler.ru
Да, можно, на сокетах это будет работать быстрее, оперативнее обновляться информация и не будет нагружать сервер по кулдауну. Но есть один минус, для этого нужен VPS сервер на котором будет распологаться демон-скрипт для обработки. Если для вас это не проблема, обращайтесь, мой email shillkas11@yandex.ru
PHP: <?php $battle = first('SELECT * FROM battles WHERE user_1='.$_SESSION['id'].' OR user_2=%d',$_SESSION['id']); $hod = $battle['hod_user_id']; if ($battle['user_1'] == $_SESSION['id']) {$a= $battle['attac_2'];$d= $battle['attac_1'];} if ($battle['user_2'] == $_SESSION['id']) {$a = $battle['attac_1'];$d = $battle['attac_2'];} $b1= $battle['attac_1']; $b2 = $battle['attac_2']; $pok1 = $battle['poke_1']; $pok2 = $battle['poke_2']; $pokg1 = $battle['to_p']; $pokg2 = $battle['to_p2']; if ($battle['batl_tip']=='pvp' ){ if ($hod < 3 && $battle['raund'] == 1 )echo'<script>setTimeout("gopvpBattle()", 1000);</script>'; if ($battle['pobeda'] > 0)echo'<script>setTimeout("gopvpBattle()", 3000);</script>'; if ($b1 > 0 && $b2 > 0 || $battle['per'] == 1 ){echo'<script>setTimeout("gopvpBattle()", 100);</script>'; if($a >0 || $d ==0){ update('battles',array('per'=>0),'id='.$battle['id']);} } if ($pokg1 >0 && $a == 0 || $pokg2 >0 && $a == 0 ) echo'<script>setTimeout("gopvpBattle()", 100);</script>';} ?> Скрипт небольшой и оптимизирован по максимуму, и лагов нет, я наперед переживаю, чтобы с ростом онлайна сервер тупить не начал.
Что такое cenrtifugo ? Библиотека? --- Добавлено --- Подскажите если ни чего не менять и глядя на скрипт который сверху. Примерно при каком количестве онлайна(Одновременных запросов) начнутся лаги. Виртуальная машина: 6 ядер Intel Xeon ,6144 Mb ОЗУ , SDD Или взять выделеный серв и не заморачиваться переделками? P.S или вообще не начнутся))))
Почитал про сокеты и цетнрофугу, блин мого переделывать под них, блин да все переделывать( Блин ну по идее скрипт маленький, и от того что ajax гоняет его по кругу, хороший серв лагать не должен. Вопрос сколько одновременных запросов от клиента может принять ajax, так как все на ajax. Все всплывающиеся окна грузяться ajax-ом, не будет ли мешать сет-интервал, вот в этом бы мне прокунсультироватся,
и че тут такого вполне возможно что где-то там выше, единственная точка входа это $_SESSION['id'] = (int)$some_value вот это же гораздо веселее PHP: echo'<script>setTimeout("gopvpBattle()", 3000);</script>';