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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нагзузка на БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Fenixs
Отправлено: 07 Июля, 2011 - 17:57:26
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Вообщем возник вопрос нащет нагрузки я пишу браузерную игру и мне на человека нужно в секунду около 100 запрос в БД а так как людей будет не 1 а может быть 100 ( максимум скажим так) 10.000 запросов в секунду mysql сдохнит это понятно а sql сможет выдержать это ?
 
 Top
OrmaJever
Отправлено: 07 Июля, 2011 - 18:38:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Fenixs пишет:
на человека нужно в секунду около 100 запрос в БД

это в оном скрипте? Однако Это не нормально, его нужно оптимизировать, количество запросом нужно уменьшить до 3-5


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
grefon
Отправлено: 07 Июля, 2011 - 19:12:03
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Не, миска не сдохнит. Проверено! Я знаю один сайт на котором идет в одном из разделов по 60 - 140 запросов за раз, а посещаемость на сайте под 3000 человек в день. Сайт висит на выделенном сервере и грузит двуядреный 2200 проц приблизительно на 40% и жрет до 6 гектар памяти. В общем дурное дело не хитрое и можно делать и по 1000 запросов, на соответствующем оборудовании все бедет тянутся. Но OrmaJever прав, нужно оптимизировать! Иначе готовьтесь к покупке сервера Радость


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
Fenixs
Отправлено: 07 Июля, 2011 - 23:24:22
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Просто игра основана на карте. чтоб зделать передвижение использую аякс записаваю кординаты в бд потом все персонажи выводятся на карту которые онлайн и проверяются кординаты раз в 0.1 секунду есть предложение как зделать по другому?
 
 Top
OrmaJever
Отправлено: 07 Июля, 2011 - 23:28:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




1) проверять координаты раз в 0.3 или 0.5 секунд, для браузерной игры это не даст особой разнирцы т.к. запрос к серверу может занять большее время.
2) Даже если проверка каждые 0.1с то за 1секунду только 10 запросов, а где остальные 90? Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Саныч
Отправлено: 07 Июля, 2011 - 23:30:33
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




OrmaJever пишет:
а где остальные 90?
что-то мне подсказывает, что автор каждые 0.1 сек отравляет не один запрос... Верно, Fenixs? Улыбка


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Fenixs
Отправлено: 07 Июля, 2011 - 23:31:02
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




это токо на персонажей так же будут монстры и так далее это все будет происходить на карте !
(Добавление)
Саныч пишет:
OrmaJever пишет:
а где остальные 90?
что-то мне подсказывает, что автор каждые 0.1 сек отравляет не один запрос... Верно, Fenixs? Улыбка

прав.
(Добавление)
А если зделать на файлах это думаю будет токо хуже
 
 Top
DlTA
Отправлено: 07 Июля, 2011 - 23:50:18
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




хуже,
базы работают быстрее
 
 Top
Саныч
Отправлено: 08 Июля, 2011 - 00:03:49
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




файлы - плохо (тем более для такого количества инфы)
100 запросов в сек - тоже плохо...
Вывод: всетаки нужно оптимизировать вашу игрушку... Это и будет самое полезное и мудрое решение в этой ситуации


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
OrmaJever
Отправлено: 08 Июля, 2011 - 00:18:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




OrmaJever пишет:
1) проверять координаты раз в 0.3 или 0.5 секунд, для браузерной игры это не даст особой разнирцы т.к. запрос к серверу может занять большее время.

во-первых попробуй это.
Fenixs пишет:
это токо на персонажей так же будут монстры и так далее это все будет происходить на карте !

А если попробовать обьеденить?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Fenixs
Отправлено: 08 Июля, 2011 - 01:39:04
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Допустим что обьединить не получится Радость
 
 Top
DeepVarvar Супермодератор
Отправлено: 08 Июля, 2011 - 01:39:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Мдаа...

Формат данных сервер=клиент и клиент=сервер должен быть JSON.
Если все настолько грандиозно - memcache-server вам в руки (или напрямую в shm_*),
а в БД сбрасывать весь дамп координат и состояний всех объектов единовременно раз (например) в 10 минут.
И то только на случай отключения электроэнергии и/или падения сервера для восстановления предыдущего состояния.
Fenixs пишет:
в секунду около 100 запрос в БД

Fenixs пишет:
проверяются кординаты раз в 0.1 секунду

Слишком часто и слишком много.
Даже крутые онлайн WEB-игры синкуются с интервалами в 3-5 секунд.
Запросов можно сделать 3-10 на апдейт.
Все зависит от структуры и сложности зависимостей персонажей.
Сервер должен возвращать ТОЛЬКО ОДИН JSON-ОБЪЕКТ который разбирается на клиенте с помощью flash и JS.
Клиент должен отправлять ТОЛЬКО ОДИН JSON-ОБЪЕКТ который обрабатывается сервером.
Отправка от клиента только по двум условиям:
1. пришла очередь периодичности обновления.
2. игрок совершил действие, сброс таймаута периодичности и отправка по требованию.

Почитайте что такое comet и long polling.

Ну и... удачи в невозможности осилить это одному...
 
 Top
Fenixs
Отправлено: 08 Июля, 2011 - 10:24:56
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Нащет один ошибся а нащет comet и long polling. почитаю и отпишусь
 
 Top
prog90
Отправлено: 17 Августа, 2011 - 19:24:28
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




А такую игру, с картой, например, футбол можно написать на javascript с помощью jquery? Или только на flash? Чем flash лучше, чем javascript?
 
 Top
White
Отправлено: 17 Августа, 2011 - 19:36:27
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




prog90 пишет:
Чем flash лучше, чем javascript?



-чем яблоки лучше, чем носки?
-чем?
-чем носки


-----
if(time()>1356048000) die();
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB