Status aggiornamenti e lag | Bacheca del Popolo | Forums

A A A
Avatar

Hai perso la password?
Ricerca avanzata

— Ambito del Forum —








Start typing a member's name above and it will auto-complete

— Match —





— Opzioni del Forum —





La lunghezza minima di una parola di ricerca è di 3 caratteri - La lunghezza massima di una parola di ricerca è di 84 caratteri

sp_Feed Feed RSS dell'Argomento sp_Print off
Status aggiornamenti e lag
sp_BlogLink Leggi il messaggio originale del blog
Topic Rating: +1 Topic Rating: +1 (1 votes) 
16 ottobre 2017
10:30
Avatar
Yehonal Yehtanér Lunthatir

Amministratore
Level 10
Messaggi del Forum: 696
MyCred MyCred 317384,30 AZP
Iscritto dal:
11 luglio 2015
sp_UserOfflineSmall Non in linea
1sp_Permalink sp_Print
+1

Salve Azerothiani!

Problematica crash

Vorrei portarvi a conoscenza del fatto che in questa settimana si è lavorato giorno e notte per risolvere i vari crash causati dagli aggiornamenti seguendo gli step della news precedente (https://azerothshard.org/aggiornamenti-problematica-crash-battaglia-infinita/) . Tali crash sono stati in gran parte risolti ed attualmente la nuova versione del server è stabile.

Problematica lag

Purtroppo questo incubo non ha fine e con se ha portato dietro non solo la problematica crash, ma anche una strana lag causata da qualche infimo algoritmo troppo dispendioso che non è individuabile andando semplicemente a “leggere” il codice.
Spiacevolmente questa lag ha causato non pochi disagi alle gilde in queste sere pertanto si è deciso ora di agire in modo tale da non intaccare troppo sul game play serale:

Dal momento che l’unico modo per testare il tutto, come dicevo nella precedente news, è provarlo sul campo dove c’è una sufficiente quantità di players online….e dal momento che questa lag si presenta in quantità minore nel pomeriggio mentre la sera diventa praticamente ingiocabile.

Provvederemo ad effettuare interventi di ottimizzazione e analisi nel pomeriggio, se la lag persiste prima dell’orario serale verrà caricata la vecchia versione giocabile del server (ciò ovviamente non intaccherà i vostri dati ma varieranno solo i fix e le nuove funzionalità). Ovviamente chiediamo la cortesia a tutti di partecipare a tale analisi giocando normalmente (o anche in maniera maggiore) in tali orari, altrimenti non saremo mai in grado di risolvere la situazione. Grazie!

 

Per permettere un passaggio rapido dalla vecchia versione alla nuova e viceversa… le seguenti funzionalità saranno disabilitate (nonostante siano state fixate nella nuova versione):

  • Npc delle quest al black market
  • Max skill della smartstone
  • Blocco 284 in arena e BG

 

Vorrei ricordare a tutti che stiamo coordinando i lavori in una chat dedicata di discord: https://discord.gg/8kM3DB9

Qui alcuni volontari ci stanno dando una mano quotidianamente a monitorare lo status del server principale e provare i nuovi cambiamenti nel server di test. Oltre a proporre e confrontarsi su qualsiasi cosa riguardi il game avendo la possibilità di farsi notare ed avere più facile accesso allo Staff stesso volendo.

Attualmente è un contributo del tutto volontario ma provvederemo appena possibile ad applicare le ricompense e privilegi previsti dal nostro piano free-lancers e laboratory.

 

Vorrei ringraziare principalmente Narcof che è stato promosso a Supporter e Tester ordinario grazie al suo contributo costante 🙂

Ma anche Boyd, Kirbly, Comix, Presidente Andreotti e Destrulol che sono parte attiva della squadra.

 

Per ora è tutto.

Un saluto

Yehonal


P.S. Per i più geeks:

Se qualcuno ha buone conoscenze di programmazione ed è interessato a sapere nello specifico cosa ha causato tali crash, come li abbiamo risolti e come stiamo risolvendo la situazione lag… allora il prossimo paragrafo è per voi (oltre all’invito ad unirvi al team tecnico!)

Premessa:  Attualmente il codice dell’AzerothCore comprese le nostre customizzazioni conta circa 1 milione di righe di codice

Crash: 

Oltre ai normali crash causati da eventuali Null pointers dove è stato opportunamente piazzato un check, i più difficili da individuare sono stati quelli relativi a delle std::map non inizializzate per via di alcuni threads non correttamente sincronizzati. Inoltre a quanto pare lo spazio di memoria di tali mappe è condiviso pertanto se la std::map x aveva il bug, il crash avveniva sulla std::map y, rendendo pertanto impossibile il fix tramite il normale debugging. E’ stato dunque utilizzato lo strumento Valgrind con i tool memcheck ed helgrind per analizzare sul server test in running eventuali difetti del codice. Inoltre è stato utilizzato gperftool per identificare i settori che consumano più memoria generando eventuali memory leak.

Stiamo anche iniziando ad avviare una static analysis tramite Cloverity per avere un rapporto più dettagliato su quali altri difetti del codice possono scaturire dalle implementazioni blizzlike e custom.

Lag:

Qui la situazione diventa molto più complessa in quanto il problema è il seguente:

La connessione client <-> server avviene tramite degli opcodes che vengono spediti dal client al server, quest’ultimo effettua determinate operazioni e poi rispedisce la risposta al client che nel frattempo è in attesa. Il ritardo di risposta (la lag) può essere causata da un problema della rete (MA NON E’ QUESTO IL NOSTRO CASO) o da un rallentamento delle operazioni del server (Il nostro caso).

Inoltre il server è multithread ma generalmente una parte delle operazioni sono relative ad un singolo thread, mentre le mappe si trovano su threads separati. Tale architettura così come può portare a generare lag ad una porzione di players e non a tutti, così può essere riscontrata globalmente (come spesso è accaduto queste sere).

Oltre alle varie ottimizzazioni al codice che sto effettuando quotidianamente, ciò che verrà fatto nei prossimi giorni/settimane sarà:

  • Usare gperftools per analizzare graficamente i timings della cpu sulle varie istruzioni del codice
  • Disattivare gradualmente delle porzioni di codice e scripts custom, tramite le condizioni del pre-processore, per individuare in modo più “grezzo” l’eventuale causa.

Se percaso qualche passante ha conoscenze relative al monitoring e ottimizzazione di software c++, si faccia avanti cortesemente.

Fuso orario del forum:Europe/Rome

Record di utenti connessi:211

Attualmente connessi:
1 Ospite(i)

Attualmente stanno visitando questa pagina:
1 Ospite(i)

Members Birthdays
sp_BirthdayIcon
Today Nessuno
Upcoming andremonkyz, leocomplex94, scara96

Utenti più attivi:

tranex01: 569

lupine: 327

Necrosis: 290

Samek: 289

birba: 253

roazar: 247

00suez: 219

Nasti: 205

Verdux: 193

lelouch91: 176

Statistiche Utenti:

Ospite: 5

Utente: 17358

Moderatore: 3

Amministratore: 4

Statistiche del Forum:

Gruppi:5

Forum:34

Argomenti:2056

Messaggi:11329

Utenti più recenti:

maritax, napocapo, darkpischell, squall9199, seful222, silverking, salsiz, blallos5, blallos4, blallos3

Moderatori:Peacemaker: 59, kafka: 59, rhadarox: 1

Amministratori:Yehonal Yehtanér Lunthatir: 696, Arkan0r: 559, narcof: 111, Disease: 24