Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.02.2015, 01:42
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 1  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
По умолчанию Насколько плох php сервер для игры?

Собственно, вот такой вопрос. Сильно ли будет нагружаться сервер, если от 100 пользователей, будет идти запрос в бд каждую секунду? Например запрос в бд получения одной строки и вывода её во флеш.

Старый 01.02.2015, 09:31
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,643
Записей в блоге: 4
Если нормальный сервер, то не сильно.
Но подход какой-то не верный изначально. Кэшировать надо данные, использовать сессиии т.д. То есть не надо все и вся всегда тянуть из базы / записывать в базу

Старый 02.02.2015, 19:31
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 3  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
Ну, если что-то простенькое - то норм. Но почти в любой игре, связь клиента должна быть двухстороняя, а сокеты на php однимать - дело не благодарное. + базу постоянно дергать не зачем. В большинсвте случаев - правильный вариант все данные сессии игрока - держать в памяти. и синхронизировать с базой - по ее окончанию.

Старый 02.02.2015, 19:57
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 4  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
Предположим, что есть игра где надо собирать монетки. За десять минут, можно собрать 100 монеток. За две минуты, собирается 20 монеток. А теперь представим краш интернета в этой игре, если их никуда не записывать, то пользователь лишается своих 20 монет. Отсюда, как вариант, это как раз дергать базу, чтобы записывать каждую собранную монетку. И при заходе/выходе из игры мы будем получать столько монет, сколько было собрано.

Старый 02.02.2015, 21:24
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 5  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
Ну вы сами выбираете логику . Хотите чтоб сохранялось в базу при креше - сохрайяйте. Сервер в курсе когда отваливается клиент)
update базы с миллионом записей при каждом клике - смущения не вызывает? работать будет в тысячи раз медленнее. Я уж молчу каждый раз дергать модель игры из базы, и проверка каждого клика на античит.

Старый 02.02.2015, 21:45
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 6  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
Цитата:
Хотите чтоб сохранялось в базу при креше - сохрайяйте
Последняя запись до креша. Почему миллионные записи? Можно ограничить количество монет. Так или иначе, что Вы предлагайте в таком случае?)

Старый 02.02.2015, 21:58
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 7  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
Допустим в базе миллионы игроков. делать выборку из полной базы для каждого инкремента - не правлиьно. Для 1 запроса в секунду не кртитично да.
В каком случае? Если у игрока пропадет интернет, перед сбором монеты - то она в любом случае не сохранится. все собранные до этого - сохранятся в обоих случаях

Старый 02.02.2015, 22:07
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 8  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
Не для каждого инкремента, брать id пользователя записанный в куках и сравнивать его с аналогичным значением id в базе.
Цитата:
все собранные до этого - сохранятся в обоих случаях
Сохранятся, если при сборе монеты сработал запрос. Но они не сохраняться, если не делать запрос после каждого сбора. Иначе, как работают браузерные текстовые игры на сервере php, которые имеют не одну тысячу записей в бд.

Старый 02.02.2015, 22:16
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 9  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
О каком запросе речь? от клиента к серверу он в любом случае должен быть. Но не обязательно каждый запрос сразу писать в базу. работаете с памятью. а ее когда нужно - синхронизируете.

Старый 02.02.2015, 22:23
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 10  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
О запросе от сервера, в бд. О какой памяти идет речь? Можно поподробнее?)

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:36.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.