Progetto

Generale

Profilo

Actions

Modifica #222

chiusa

Spostare in memcache i contatori della pagina web

Aggiunto da Diego Sorrentino oltre 6 anni fa. Aggiornato oltre 6 anni fa.

Stato:
Chiuso
Priorità:
High
Assegnato a:
Inizio:
25-01-2019
Scadenza:
30-01-2019
% Completato:

100%

Tempo stimato:
20:00 h

Descrizione

Attualmente in varie richieste dinamiche vengono presi, da db, i valori dei vari contatori usati nella pagina web:
#27971 iscritti al servizio Info-Terremoti
#12751 terremoti rappresentati
#1074659 questionari compilati
e' una connessione eliminabile (tanto non servono i dati in realtime) che si potrebbe spostare in una delle varie routine attualmente operative e si potrebbero salvare i dati in memcache


Segnalazioni correlate 2 (0 aperte2 chiuse)

Correlata a Bug #220: i questionari vengono "persi" se il db e' sovraccaricoChiusoDiego Sorrentino17-01-201931-01-2019

Actions
Correlata a Modifica #223: Riduzione/eliminazione connessioni al db per i questionari compilati dagli iscrittiChiusoDiego Sorrentino25-01-201906-02-2019

Actions
Actions #1

Aggiornato da Diego Sorrentino oltre 6 anni fa

  • Bug #220: i questionari vengono "persi" se il db e' sovraccarico Correlata a aggiunto
Actions #2

Aggiornato da Diego Sorrentino oltre 6 anni fa

il metodo GetGlobalCounters(), definito nella classe HaiSentitoIlTerremoto() viene richiamato nelle seguenti classi estese:
  1. HaiSentitoIlTerremoto()
  2. Quake()
  3. Quest()
  4. summaryBuilder()
Actions #3

Aggiornato da Diego Sorrentino oltre 6 anni fa

  • Modifica #223: Riduzione/eliminazione connessioni al db per i questionari compilati dagli iscritti Correlata a aggiunto
Actions #4

Aggiornato da Diego Sorrentino oltre 6 anni fa

  • % Completato modificata da 0 a 70

spostato l'aggiornamento dei contatori in un metodo della classe HaiSentitoIlTerremoto().
a fine aggiornamento dei contatori su db, i dati vengono subito scaricati e caricati in cache nella chiave GlobalCounters.

Modificato il metodo di recupero dei contatori che, adesso, si collega alla cache invece del database.

NOTA

devo ancora modificare il file terremotoweb:/etc/memcached.conf per abilitare la macchina terremotomap ad aggiornare la cache.
Abilitare terremotomap a collegarsi sblocca indiscriminatamente l'accesso alla cache per chiunque, quindi richiede l'attivazione di una regola sull'IPTables del server per bloccare le macchine non autorizzate.

Actions #5

Aggiornato da Diego Sorrentino oltre 6 anni fa

  • Scadenza impostata a 30-01-2019
  • Stato modificata da Nuovo a Chiuso
  • % Completato modificata da 70 a 100
  • Tempo stimato impostata a 20:00 h

modificato il file di configurazione terremoto-web:/etc/memcached.conf
da

-l 127.0.0.1

a

-l 192.168.0.11

e riavviato il servizio

Per proteggere il servizio di memcache e' stato necessario attivare anche alcune regole sul firewall locale, cosi' da autorizzare terremoto-web e terremoto-map a leggere/scrivere in memcache.

Le regole sono state inserite in uno script BASH /etc/network/if-pre-up.d/iptables.sh

#!/bin/sh
iptables -I INPUT -s 127.0.0.1,192.168.0.11,192.168.0.18 -p TCP --dport 11211 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT  -p TCP --dport 11211 -j DROP

NOTA

riporto le statistiche di memcached prima del suo riavvio

stats
STAT pid 15800
STAT uptime 52076070
STAT time 1548746164
STAT version 1.4.13
STAT libevent 2.0.19-stable
STAT pointer_size 32
STAT rusage_user 373.867365
STAT rusage_system 480.490028
STAT curr_connections 7
STAT total_connections 1453304
STAT connection_structures 149
STAT reserved_fds 20
STAT cmd_get 1893518
STAT cmd_set 8486
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 1884965
STAT get_misses 8553
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 51404752
STAT bytes_written 3276114232
STAT limit_maxbytes 536870912
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 262144
STAT hash_is_expanding 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT bytes 7074729
STAT curr_items 8486
STAT total_items 8486
STAT evictions 0
STAT reclaimed 0
END

Actions

Esporta su Atom PDF