Новости



Повисим?

31 июля 2013 в 14:03:27

Мы часто сталкиваемся с так называемыми "висами" в игре. И каждый из нас уже ни раз сталкивался с бабкой, которая пришла на корабль. Все негодование мы выплескиваем в раздел об ошибках , требуя возместить ущерб. Что же такое эти висы?

Начнем с того, что любой интернет ресурс использует web-server - то место, куда пользователь отсылает запрос со своего компьютера. Как работает web-server? Запрос поступает на сервер, где программа должна обработать и отправить ответ обратно. Так как основная цель веб-сервера обслужить сразу как можно больше клиентов, то он обычно спихивает запрос куда-то "налево", то есть отдает помощникам (так называемым worker) - вспомогательным процессам/потокам. Сам же сервер продолжает принимать/отдавать запросы. Основных типов worker’а два - это процесс и поток. Для улучшения производительности иногда используют оба типа одновременно, порождая несколько процессов и кучу потоков в каждом. Процессы независимы друг от друга и не взаимодействуют между собой. Потоки же имеют общие, разделяемые структуры данных. При работе внутри сервера - worker имеет доступ к данным сервера. Он может поменять любые структуры и делать разные гадости, особенно если написан с ошибками. Чтобы обрабатывать много соединений одновременно - нужно иметь достаточное количество рабочих. И что мы видим в итоге? В зависимости от допустимого числа одновременно работающих worker сервер получает нагрузку. И если число запросов превышает допустимое, то сервер может попросить «подождать» запросы, пришедшие сверх его возможности. Отсюда тормоз в ожидании, долгие переходы между локациями и тому подобное. Это как вариант. Ошибки 502 и 504 как раз результат ожидания очереди: либо долго ждем (502 - эта ошибка как правило быстро проходит без постороннего вмешательства) либо запрос потерялся (504).

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

Мы точно не можем знать, в чем конкретно причина висов в игре, и какова степень вины админов в потраченном впустую нашем времени. Но я уверена, что ежедневно BDS&M приходят на работу не просто чай попить, а сделать игру комфортнее и интереснее для всех пользователей. Так что надеюсь, что в скором времени висы будут побеждены, а аванты доступнее.

 

 




Комментирование запрещено.

Комментарии (2):


Гость 13 августа 2013 в 20:12:36
Проблемы, в основном, в некоторых узких местах архитектуры. Мы (админы) виноваты примерно в 95% случаев всяких висов и тормозов. Стараемся выявлять и устранять косяки.
Цукиёми 3 сентября 2013 в 15:17:27
Вот в последнем я нисколько не сомневаюсь. Как и в косяках архитектурыулыбка)