Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Чат на PHP+AJAX+MySQL
Форумы портала PHP.SU » » Вопросы новичков » Чат на PHP+AJAX+MySQL

Страниц (1): [1]
 

1. dsqwared - 13 Февраля, 2016 - 00:35:37 - перейти к сообщению
Здравствуйте....

Доделал чат, для сайта...

работает так...

допустим подключено 3 пользователя user1,user2,user3

1. User1, отправляет сообщение в чат, ajax выводит на экран user1 сообщение, ajax записывает его в базу данных, ajax у usera2 и usera3 делает запрос к бд, вытягивает все сообщения и обновляет форму сообщений...

выглядит вроде не плохо...

обновляю форму так

CODE (javascript):
скопировать код в буфер обмена
  1.  setInterval(function () {load();}, 5000);
  2.  



вот только вопрос, если таких пользователей будет 1000, то у каждого usera каждые 5 сек, делает запрос к базе, а это каждые 5 сек 1000 запросов...

Сколько юзеров такой способ может вытянуть???
2. DelphinPRO - 13 Февраля, 2016 - 06:22:01 - перейти к сообщению
на веб-сокетах сейчас модно чаты делать.

ну а вообще норм. потянет много. и 5 сек - долго. я бы каждую секунду дергал. или long polling как вариант, чтобы уменьшить кол-во запросов.
3. dsqwared - 13 Февраля, 2016 - 08:48:54 - перейти к сообщению
Попробовал у себя запустить три браузера, среди них IE, Chrome, Opera.
В IE, через некоторое время выдало ошибку, дословно не вспомню, но смысл был такой:

Превышен лимит запросов, повторите позже.

В хроме и опере такого не было...
4. tiongiedca - 13 Февраля, 2016 - 15:36:17 - перейти к сообщению
Я бы лучше историю в файл на сервере записывал чем в базу. Очень частое обращение к базе не очень хорошо (мое мнение).

А если говорить про нагрузку на базу, то все зависит от сервера на котором она установлена. Нагрузка будет довольно большой.
5. DelphinPRO - 13 Февраля, 2016 - 16:02:54 - перейти к сообщению
tiongiedca пишет:
Я бы лучше историю в файл на сервере записывал чем в базу. Очень частое обращение к базе не очень хорошо (мое мнение).

не говорите чепухи.
6. dsqwared - 13 Февраля, 2016 - 21:31:09 - перейти к сообщению
Хотелось бы услышать еще мнения Хорошо

после того как в IE выскочила ошибка.... зашел на хостинг, там увидел такое...

Ваш сайт подвергался ограничениям в течение последних 24 часов
Ресурсы процессора ограничивались для Вашего сайта

Вы достигали пределов по входным процессам (количеству одновременно запущенных PHP и CGI скриптов, заданий по расписанию и консольных сессий) <b>74</b> раз

Ваш сайт достигает ограничений по использованию ресурсов
Your Physical Memory usage was at 255.76 out of 256

Использование Вами ввода-вывода достигало 1024 из 1024 выделенного



Может быть из-за 3х юзеров такое????? или совпадение...
7. exlant - 13 Февраля, 2016 - 23:47:56 - перейти к сообщению
Это зависит от многих факторов!
От мощности сервера, от размера базы, от сложности и правильности запросов к базе, от веб сервера, от настроек веб сервера и т.д.

Вы, на сколько я понимаю, покупаете хостинг у третих лиц, и наверное какой то дешевый, или же вообще бесплатный. И вашему сайту предоставляют, какой-то маленький % от производительности сервера(процессор, оперативка). Рядом с вашим сайтом располагается, скорей всего, еще куча разных сайтов, вот сервер и ограничивает ресурсы процессора, и озу, что бы всем хватило.

Я читал, что на стареньком компе, с 2 ядрами, и 1-2 гб озу можно поднять сервер, который сможет обслуживать 250-1000 запросов в секунду.

Я это к тому, что для вашей цели, возможно лучше смотреть в сторону своего собственного сервера, или vps.
8. dsqwared - 14 Февраля, 2016 - 01:09:19 - перейти к сообщению
Я делаю плагин, и он будет работать, на разных сайтах, поэтому для описания плагина, хотел узнать, сколько людей сможет подключится у чату. Смысл я понял, спасибо за инфу.

 

Powered by ExBB FM 1.0 RC1