Вопросы, советы, возможные модификации и вообще все про модуль статистики кланов

Модератор: Exinaus, shw

#36006 NightAngel 26 июл 2013, 06:04
Вопрос касается загрузки реплеев в "Активность игроков".
Если реплеи заливает один и тот же человек, то все отлично работает. При попытке залить реплей из того же боя пишет - Реплей уже загружался.
Но. Если из одно и того же боя реплеи заливают разные бойцы, то они суммируются.

Как то можно это пофиксить?

Изображение
#36015 Exinaus 26 июл 2013, 10:08
NightAngel писал(а):Вопрос касается загрузки реплеев в "Активность игроков".
Если реплеи заливает один и тот же человек, то все отлично работает. При попытке залить реплей из того же боя пишет - Реплей уже загружался.
Но.... Если из одно и того же боя реплеи заливают разные бойцы, то они суммируются.

Как то можно это пофиксить?

Проверка уже заливавшихся реплеев идет по комбинации времени боя и названия карты. Без возможности поработать с такими реплеями я не могу сказать почему так. Возможно у разных игроков отличаются время начала боя из за разных часовых поясов.
Если не сложно, скиньте мне хотя бы два реплея одного боя от разных людей на dwar.bot[собака]gmail.com - я постараюсь разобраться и пофиксить.
#36016 Exinaus 26 июл 2013, 10:13
abagrov писал(а):Предложения по оптимизации (уменьшению) размера MySQL:
1) Всем таблицам или как минимум таблицам *_col_* установить свойство ROW_FORMAT=dynamic. Позволяет выиграть до 70% объёма! Сделал - полёт нормальный.
2) Изменить структуру таблиц *_col_tank_*. Столбцам *_w и *_t назначить тип SMALLINT (unsigned). По-моему кол-ва боёв/побед на танке от 0 до 65535 более чем достаточно. Позволяет выиграть до 50% объёма.
3) Изменить структуру таблиц *_col_rating_*. Столбцам отвечающим за выжил, обнаружил, уничтожил также назначить тип SMALLINT (unsigned).
зы Если тип SMALLINT (unsigned) значения от 0 до 65535 не устраивает, то можно и MEDIUMINT (unsigned) - значения от 0 до 16777215.

Бесплатный Хостингер очень ругается, когда размер базы более 50Мб, и лочит аккаунт, если размер больше 100Мб. Так что прошу внедрить данные предложения - это позволит хранить статистику за более продолжительное время.

2й пунт согласен полностью. 3й тоже согласен.
Первый надо будет обсудить, динамический формат хоть и потребляет меньше места, но более подвержен риску порчи данных. А фиксированный формат, примененный по умолчанию, легче в доступе, кешировании и обновлении информации. При этом в фиксированных таблицах запросы к БД происходят намного быстрее. В крон логе же должно быть написано какое количество запросов к БД было произведено.
Т.е. это палка о двух концах. Но как говориться мы это постараемся обсудить и решить проблему.
#36052 abagrov 26 июл 2013, 14:50
Exinaus писал(а):
abagrov писал(а):Предложения по оптимизации (уменьшению) размера MySQL:
1) Всем таблицам или как минимум таблицам *_col_* установить свойство ROW_FORMAT=dynamic. Позволяет выиграть до 70% объёма! Сделал - полёт нормальный.
2) Изменить структуру таблиц *_col_tank_*. Столбцам *_w и *_t назначить тип SMALLINT (unsigned). По-моему кол-ва боёв/побед на танке от 0 до 65535 более чем достаточно. Позволяет выиграть до 50% объёма.
3) Изменить структуру таблиц *_col_rating_*. Столбцам отвечающим за выжил, обнаружил, уничтожил также назначить тип SMALLINT (unsigned).
зы Если тип SMALLINT (unsigned) значения от 0 до 65535 не устраивает, то можно и MEDIUMINT (unsigned) - значения от 0 до 16777215.

Бесплатный Хостингер очень ругается, когда размер базы более 50Мб, и лочит аккаунт, если размер больше 100Мб. Так что прошу внедрить данные предложения - это позволит хранить статистику за более продолжительное время.

2й пунт согласен полностью. 3й тоже согласен.
Первый надо будет обсудить, динамический формат хоть и потр[цензура]ет меньше места, но более подвержен риску порчи данных. А фиксированный формат, примененный по умолчанию, легче в доступе, кешировании и обновлении информации. При этом в фиксированных таблицах запросы к БД происходят намного быстрее. В крон логе же должно быть написано какое количество запросов к БД было произведено.
Т.е. это палка о двух концах. Но как говориться мы это постараемся обсудить и решить проблему.

По п.1 для размышления:
1) Изменения времени выполнения не заметил. При динамическо[цензура]мере ведь строится битовая матрица нулевых значений столбцов. По-этому если ячейка имеет значение ноль, то это значение вытаскивается значительно быстрее, чем при фиксированном типе. И в тоже время не нулевые ячейки, конечно, вытаскиваются несколько дольше, так как доступ к ним идёт по ссылкам. Если нулевых и не нулевых значений примерно поровну, то общая производительность будет на уровне фиксированного типа.
Фиксированный тип:
Код: Выделить всё2013-07-21 04:40:03: Requested players num 92
2013-07-21 04:40:08: Writing player 83ivan44rus
...
2013-07-21 04:40:10: Выполнено
2013-07-21 04:40:10: Number of MySQL queries - 1505

Динамический:
Код: Выделить всё2013-07-26 04:20:04: Requested players num 95
2013-07-26 04:20:10: Writing player 83ivan44rus
...
2013-07-26 04:20:12: Выполнено
2013-07-26 04:20:12: Number of MySQL queries - 1559

2) Согласен. Если таблица накроется, то восстановить динамический тип более трудно (или даже не возможно). Но если подумать, то кто ж вобще будет пытаться восстановить битую таблицу? Достанут бэкап ;)
3) Ну а кол-во скул запросов вобще не меняется. Все операции проходят на уровне движка. Тоже самое и про кэширование. Аналогично всё на уровне движка.
#36455 tux 06 авг 2013, 12:08
Базу данных пора бы доработать. не знаю как раньше, но сейчас полно данных, которые приходят пустыми и пытаются вписаться в NOT NULL.
и если не брать в расчет ([цензура]) бесплатные хостинги, то работать не будет(из-за стрикт режима). отключать его не есть гуд.

в личку скинул рабочий пример.
#36458 Exinaus 06 авг 2013, 15:09
tux писал(а):Базу данных пора бы доработать. не знаю как раньше, но сейчас полно данных, которые приходят пустыми и пытаются вписаться в NOT NULL.
и если не брать в расчет (говно) бесплатные хостинги, то работать не будет(из-за стрикт режима). отключать его не есть гуд.

в личку скинул рабочий пример.

Нашел в личке ссылку на гит.
С помощью гита можно (пытаться) вносить изменения в другие проекты. Вот, для примера, руководство: http://habrahabr.ru/post/125999/
Там правда все сделано через командную строку, но и через сайт все можно сделать.
Я добавил изменения, но в следующий раз лучше сразу создавайте Pull request на гите.
#36468 tux 06 авг 2013, 18:23
Exinaus писал(а):Нашел в личке ссылку на гит.
С помощью гита можно (пытаться) вносить изменения в другие проекты. Вот, для примера, руководство: http://habrahabr.ru/post/125999/
Там правда все сделано через командную строку, но и через сайт все можно сделать.
Я добавил изменения, но в следующий раз лучше сразу создавайте Pull request на гите.


да, учту.
с командной строкой нет проблем :)
только начал гит изучать и решил побаловаться/поучиться.
#39729 Diman777 02 окт 2013, 18:27
Здравствуйте!
Скачал модуль статистики пару часов назад и установил. http://tawot.net/stat/
Решил написать о найденных проблемах и как я некоторые из них решил.
Альянс у нас из 5 кланов .
1. Не отображались картинки кланов исправил так
Код: Выделить всё                    <img height="24" border="0" src="<?=$multiclan_info[$val['id']]['data']['emblems']['bw_tank']?>" /><span style="margin: auto 4px; display:block; color:<?=$multiclan_info[$val['id']]['data']['color']?>"><?=$multiclan_info[$val['id']]['data']['abbreviation']?></span>

убрал
Код: Выделить всёhttp://<?=$config['gm_url'].


2. иконка клана ссылкой отображается
Код: Выделить всёhttps://worldoftanks.ru/dcont/clans/emblems/819/emblem_64x64.png
но так не отображает эмблему клана, а заглушка фыходит.
в конфиге прописано
Код: Выделить всё $config['clan_img'] = 'https://worldoftanks.ru/dcont/clans/emblems/';

если поменять на
Код: Выделить всёhttp://cw.worldoftanks.ru/media/clans/emblems/clans_8/

то отображается, но некоторые кланы всё равно не получается зделать, так как clans_8 у них другой, может быть clans_1, clans_2 и т.д.

Как это победить я не знаю, может кто подскажет ?

#39746 Diman777 02 окт 2013, 21:45
Exinaus писал(а):В первом посте скачайте, и посмотрите как там реализовано. viewtopic.php?f=30&t=15483
Или залейте фикс.

Ок, Спасибо всё отображается нормально.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Реклама | Adv
cron