Форумы мира Хаддан

Вернуться   Форумы мира Хаддан > Форумы Хаддан'а > Помощь проекту > Предложения
Хаддан FAQ Пользователи Поиск Сообщения за сегодня Все разделы прочитаны

Предложения То, что Вы хотели бы видеть или изменить в Хаддан'е

Ответ
 
Опции темы Поиск в этой теме
  #1  
Старый 24.12.2015, 16:58
Neznajkaa не в сети
Рекрут
 
Регистрация: 12.05.2013
Сообщения: 35
Репутация: 10
Neznajkaa Простой пользователь
По умолчанию предложение по оптимизации игры.

сразу извеняйте за граматические ошибочки, ну и извените если похожие предложения уже рассматривались но хотелось бы предложить пару вещей, которые хотя-бы как-то могут сбросить нагрузку на сервера.

1. оптимизация расделов инвентарь и информация.
суть простая заходя в инвентарь мы отпровляем на сервер дай мне все вещи первого расдела. круто удобно не надо не чего нажимать, но очень часто заходя в инвентарь первый раздел нафиг не нужен, и это лишнее действия как минимум в 50% случаев.

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

2. оптимизация востоновления после боя.
в инвентаре есть такой предмет как камень жизни, он востонавливает 150 здаровя чаше всего его пют стопками высокие уровни, так сделайте же возможность пить сразу определённое количество единиц интересуюшего продукта. это посути тоже выпивание только с операцией умножения вам не придёться 10 раз делать определённые операции с базой вам будет достаточно делать их в 10 раз реже.

3. оптимизация необходимостей.
снизу под персонажем есть куча кирпичей. круто красиво бесполезно, что можно сделать. добавить на эту кучу кирпечей бутылочку востоновления бодры. человек нажимает на бутылочку она выпиваеться при наличии, что мы получим. людям не придёться заходить в инвентарь через каждые 10-15 боёв, тоже самое можно делать и с остольными часто применяемыми вне боя предметами, так же можно обеденить с пунктом номер 2 и будет вообше сказка, урежиться куча лишних запросов.

более требоватильные на мой взгял возможные оптимизации :
4. разеденить обновление информации персонажа с сервером.
у вас есть информация персонажа постоянно запрашиваеться на сервер обновляеться, что там может поменяться без действий игрока ?
создайте логику которая просчитывает востоновление по той же логике что и сервер только на Javascript обновляйте по необходимости или чуток реже.

мог бы предложить ещё кучу всякой всячины но это уже из разряда перестроить всё что есть и довольно сложно по реализации. в любом случае реализация первых 3 пунктов, элементарна канешно не решит все ваши проблемы, но уж точно облегчит серверу работу над повседневными задачками.
Ответить с цитированием
  #2  
Старый 24.12.2015, 17:09
Аватар для NeutroN NeutroN не в сети
Паладин
 
Регистрация: 26.11.2007
Сообщения: 611
Репутация: 51
NeutroN Продвинутый пользователь
По умолчанию

а грабить корованы?
__________________
Всегда подписывайтесь при минусовке репы, не будьте анонимом
Ответить с цитированием
  #3  
Старый 24.12.2015, 17:30
Neznajkaa не в сети
Рекрут
 
Регистрация: 12.05.2013
Сообщения: 35
Репутация: 10
Neznajkaa Простой пользователь
По умолчанию

да ещё чуток подумал есть ещё одно возможно легко реализуемое дополнительное действие.

5. перемешение по локациям.
создайте кнопочку которая будет делать абсолютно всё что делает переход на новую точку но без перехода на новую точку, вам не придёться постоянно дёргать персонажей из точки а в точку б, а через 7 секунд обратно.

персонаж не будет менять свою дислокацию что может теоретически облегчить обновления чатов, и избавиться от логики перемешения когда человек просто хочет подраться с местными жителями.

т.е. чисто теоретически это переход из локации а в локацию а.

Последний раз редактировалось Neznajkaa, 24.12.2015 в 17:32.
Ответить с цитированием
  #4  
Старый 24.12.2015, 17:55
Straight не в сети
Генерал
 
Регистрация: 07.06.2007
Сообщения: 611
Репутация: 39
Straight На правильном пути
По умолчанию

Бред.
Самая большая проблема - отдельная запись в БД на каждую единицу ресурса. Но как уже признавался Маел, слишком многое на это завязано, чтобы возможно было это поменять.
Ответить с цитированием
  #5  
Старый 24.12.2015, 18:06
Neznajkaa не в сети
Рекрут
 
Регистрация: 12.05.2013
Сообщения: 35
Репутация: 10
Neznajkaa Простой пользователь
По умолчанию

Цитата:
Сообщение от Straight
Бред.
Самая большая проблема - отдельная запись в БД на каждую единицу ресурса. Но как уже признавался Маел, слишком многое на это завязано, чтобы возможно было это поменять.

поверь братиш самая основная проблема всех серверов, это чтение и записи. да проблемы могут появиться в случае если эту кнопочку поставить на предметы которые увеличивают статы, а предметы которые востонавливают здарове или ману, на них завязано изменение хп и бутылочки в инвентаре но это можно ювелирно вырезать, возможно канешно есть определённые проблемы если всё сделано фиг знает как но это не мешает мне написать такое предложение, я не знаю кода и не знаю подводные камни но я могу предложить улучшить производительность игры. возможно какая нить из этих вещей легка в реализации, и может придать хотя-бы чуточку производительности.

и если тут используеться база данных типо Mysql то там одна запись в базу данных приводет к такой рутине действий которые реализует база что сделать из 10 запросов 1 может придать очень много мошностей в целом, наврятли тут использоваться NoDb схемы которые работают неструктуризировано и без закрывания записей для чтения, для изменения данных.

Последний раз редактировалось Neznajkaa, 24.12.2015 в 18:09.
Ответить с цитированием
  #6  
Старый 24.12.2015, 19:10
Аватар для Mr. Bugy men Mr. Bugy men не в сети
Магистр
 
Регистрация: 16.11.2007
Адрес: Москва
Сообщения: 2,697
Репутация: 21
Mr. Bugy men На правильном пути
По умолчанию

Цитата:
Сообщение от Neznajkaa
NoDb схемы которые работают неструктуризировано и без закрывания записей для чтения, для изменения данных.
Угу, мало в Хадде отсутствия транзакций на бои, давайте еще меньше консистентности в данных

Тема - какой-то поток странных мыслей.
1. Инвентарь - это чтение по PK, там все быстро и просто.
2. Рунники пьют через слоты. Хотя есть аналогичная вещь, которая сделана определенно странно - кормежка таракашек. 1000 объедков скармливаются за 2000 запросов (редирект никак в браузере не срежешь) и 2.5мб трафика. Добавить кнопку "скормить все объедки" было бы здорово.
3. Быстрые слоты / авторам расширений
4. Это вообще какой-то бред, посмотри запросы, в обновлении приходит не только статы, но и другие важные вещи. Единственное что можно сделать - переделать на сокеты и пушить с сервера, без доп запросов.


Как я понимаю, основная проблема лагов - старый движок mysql, myisam, где запись вызывает лок на всю таблицу.
Ответить с цитированием
  #7  
Старый 24.12.2015, 19:23
Neznajkaa не в сети
Рекрут
 
Регистрация: 12.05.2013
Сообщения: 35
Репутация: 10
Neznajkaa Простой пользователь
По умолчанию

Цитата:
Сообщение от Mr. Bugy men
Угу, мало в Хадде отсутствия транзакций на бои, давайте еще меньше консистентности в данных

Тема - какой-то поток странных мыслей.
1. Инвентарь - это чтение по PK, там все быстро и просто.
2. Рунники пьют через слоты. Хотя есть аналогичная вещь, которая сделана определенно странно - кормежка таракашек. 1000 объедков скармливаются за 2000 запросов (редирект никак в браузере не срежешь) и 2.5мб трафика. Добавить кнопку "скормить все объедки" было бы здорово.
3. Быстрые слоты / авторам расширений
4. Это вообще какой-то бред, посмотри запросы, в обновлении приходит не только статы, но и другие важные вещи. Единственное что можно сделать - переделать на сокеты и пушить с сервера, без доп запросов.


Как я понимаю, основная проблема лагов - старый движок mysql, myisam, где запись вызывает лок на всю таблицу.

чтение по пк быстро да, нужно ? нет! эта мелочь не даст многово но что-то даст.
просто я более чем уверен если поуберать в определённых местах лишние действия, это привидёт к тому что сервер сможет актуально поддерживать 100 человек, на слабой серверной машинке.

и движок MyIsam на самом деле это не проблема можно очень сложные схемы ставить и они не будут создовать проблем. просто на других движках будут другие примушества учитывая, что игра построена на больших количествах чтений, менять структуру базы на любую другую может привести к проблемам по чтению : )

есть много способов оптимизации но не делать повторные запросы без необходимостей это самый минимум что можно сделать, и чаше всего это приводит к положительным эффектам, и требует минимальное количество внимания от опытного программиста.

на счёт 4 пункта да там что-то очень сомнительное но всё же есть куча способов обрабатывать данные без переодически сложных запросов. просто это как точка отправления а не как что-то максимально выжатое, и то что там по мимо пользовательских данных клеиться абсолютно всё, это уже другой вопрос (если убрать ветку событий то это чуток облегчит задачу.), и по каждому вопросу есть более оптимальное решение чем то что есть на данный момент, да они очень требовательны по времени и возможно не столь актуальны. по этому это было добавлено после доп коментария, и можно даже не рассматривать.

Последний раз редактировалось Neznajkaa, 24.12.2015 в 19:28.
Ответить с цитированием
  #8  
Старый 24.12.2015, 20:23
Аватар для Braice Braice не в сети
Воин
 
Регистрация: 31.01.2014
Адрес: Украина, Днепропетровск
Сообщения: 275
Репутация: 24
Braice На правильном пути
Отправить сообщение для  Braice с помощью ICQ Послать сообщение через Skype™ для Braice
По умолчанию

Марис, машина в 2006-2007 держала онлайн в 2к одновременно. Тогда все качались и активности гораздо больше было и ничего особо не лагало. Как сказал Буги, проблема в том, что старый движок и куча "костылей", потому, что при внедрении новинок нужно их как-то привязать к общей БД, что порой бывает не так просто.
__________________
Цитата:
... Да здравствуют "Павлики Морозовы" на территории Хаддана, (над для Вас орден у Администрации выпросить).
(с)
Магистр Души Metamorphosis [41] Информация о персонаже
Раса: Эльф
Цитата:
- А топовые "донатеры" как качались на нём так и качаются. Но ты придрался к тем, у кого его не было никогда
. (с) Вампир Fingolfin [50] Информация о персонаже
Раса: Эльф.

Цитата:
- Остальное - не твое дело.
(с) Паладин Maelstorm [60] Информация о персонаже
Раса: Человек

Истинна где-то рядом...
"Козни Тьмы привели к ошибке в Хаддане. Информация о ней записана, и Свет скоро восстановит образовавшуюся брешь."
Новое - давно забытое старое
Ответить с цитированием
  #9  
Старый 24.12.2015, 21:02
Аватар для Mr. Bugy men Mr. Bugy men не в сети
Магистр
 
Регистрация: 16.11.2007
Адрес: Москва
Сообщения: 2,697
Репутация: 21
Mr. Bugy men На правильном пути
По умолчанию

Чтений? Не думаю) Вставок и обновлений сильно больше.
Упало что-то в лабе - запись, бои - запись. Чтение не лочит ничего, а вот запись - да.
Не делать запросы не получится, у хадда основной язык - php, он создан чтобы умирать. Что-то держать в кеше - ну наверное уже есть, хотя инвалидация в случае с игрой может быть дороже, чем с базы прочитать.

Так что все упирается в запись, это банально видно по ночам и утрам, когда в хадде все также кучка народу есть, но висят в храме для магазинов.
Ответить с цитированием
  #10  
Старый 25.12.2015, 02:09
Neznajkaa не в сети
Рекрут
 
Регистрация: 12.05.2013
Сообщения: 35
Репутация: 10
Neznajkaa Простой пользователь
По умолчанию

Цитата:
Сообщение от Braice
Марис, машина в 2006-2007 держала онлайн в 2к одновременно. Тогда все качались и активности гораздо больше было и ничего особо не лагало. Как сказал Буги, проблема в том, что старый движок и куча "костылей", потому, что при внедрении новинок нужно их как-то привязать к общей БД, что порой бывает не так просто.

в 2006-2007 было меньше функционала, было меньше предметов, меньше действий, меньше таблиц и 2к одновременно это вполне возможно было как шас 20. да и видел я в в 2006-2007 игру это невозможно сравнивать с тем что есть сейчас. 1 играюший 60 уровень в 2006 накидал бы нагрузки минимум на 30 пользователей которые были тогда, даже если его кинуть назад в прошлое с текушим персонажем. т.к. по началу человек думает минут 20 делает минут 5 играет в игру совершая минимум действий, сейчас же всё достроено до автоматов, куча всяких костылей в виде Екстеншенов, которые просто е.. сервер. и люди не станут их удолять потому что тогда им будет не удобно играть.
я не говорю о разростании базы это тоже как-то нужно обробатывать. да и я более чем уверен что шас есть какой-то бектрейс пользовательских действий тогда его небыло (или был гораздо упрошёнее). тобиш взять то что есть сейчас повесить на тех 2к людей они там просто загнуться. даже с пустой базой. да и тогда даже интернет был такой что 50% онлайна были просто неактивные т.к. у них интернет не позволял быстро играть. да и тоже были проблемы даже тогда.
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

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


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

Page generated in 0.0326 seconds (54.65% PHP - 45.35% MySQL) with 13 queries

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Адаптация Архивариус & dukei