Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [Mysql] Server LAMP con CPU al 100% e Crash

    Ciao a tutti,
    ho un server in housing ad Aruba con queste caratteristiche:
    HP Proliant ML350 G5 con uno Xeon Quad core e 16 Gb di RAM con Ubuntu Server e il classico ambiente LAMP che fa girare 4 siti di cui solo uno genera un po' di traffico. Il sito è un ecommerce modificato e adattato a particolari esigenze.
    Da qualche tempo la CPU (sembra per causa di Mysql) va al 100% e poi esaurisce la memoria (o viceversa) e di conseguenza crasha rentendo la macchina irragiungibile da remoto, se non attraverso un riavvio fisico richiesto alla webfarm di Arezzo).

    Come posso indagare il problema? Come inizio?
    Purtroppo non sono un esperto e quindi non ho idea.
    Ciao e grazie a tutti voi!

  2. #2
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    E' praticamente impossibile che mysql porti al 100% la CPU di una macchina multicore, per il semplice fatto che... non scala bene (orizzontalmente).
    Inizierei quindi a verificare con top qual'è la situazione.
    Subito dopo con mysqladmin processlist controllerei i thread (mysql) in esecuzione

  3. #3
    Grazie Franz,
    ti allego il printscreen di htop,
    così la macchina è in tilt.
    cosa posso controllare con mysqladmin processlist? leggo solo le normali query che si stanno svolgendo sul sito, devo notare qualcosa in particolare?
    Scusa la mia ingnoranza, ma sto imparando.
    ciao e grazie
    http://www.dgstore.it/top.jpg

  4. #4
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da Paolodigital
    Grazie Franz,
    ti allego il printscreen di htop,
    così la macchina è in tilt.
    cosa posso controllare con mysqladmin processlist? leggo solo le normali query che si stanno svolgendo sul sito, devo notare qualcosa in particolare?
    Scusa la mia ingnoranza, ma sto imparando.
    ciao e grazie
    http://www.dgstore.it/top.jpg
    Bhè allora qualcosa si inizia a capire.
    Innanzitutto quanti processi mysqld hai in esecuzione?
    E perchè ci sono?

    Perchè, come detto, UN mysql non riesce a saturare 4 CPU, mentre una dozzina possono riuscirci.

    Riguardo a mysqladmin basta fare
    mysqladmin -uroot -ppasswordchevuoi processlist
    magari redireziona su un file

    Lì vedi l'elenco dei thread (mysql) e, soprattutto cosa stanno facendo.

    Di che versione mysql stiamo parlando?

    Così, "a occhio", sembrerebbe apache che crea i suoi thread (e fin qui bene, è normale), ma nel contempo vengono attivati tanti server mysql (e questo no, non è normalissimo)

  5. #5
    Grazie mille franzauker per i preziosi consigli,
    ho passato tutto il pomeriggio ad indagare,
    ho risettato tutte le variabili dei file di configurazione di mysql e apache, cercando di ottimizzarli al meglio in relazione alla macchina e al tipo di lavoro che deve fare, poi ho controllato le query lente con il log e ho cercato di ottimizzare gli indici.....nulla da fare...alla fine per deduzione ho iniziato a levare il carico dalla macchina abbattendo i siti uno alla volta....e......tataaatattaaaaaa
    Un sito è il responsabile di tutto ciò, come lo tiro su l 4 cpu mi vanno al 100% e la memoria si esaurisce fino allo swap e poi alla morte....
    Virus? Ho cercato tra i file e ho trovato un file enorme (quasi un 1gb) sconosciuto e senza estensione, l'ho scaricato e ho cercato di farlo aprire con più applicazioni...ma è impossibile.... ora non mi resta che capire cosa può essere e come approciare...se sono entrati devo capire un sacco di cose!
    Cmq appena tiro su l'accesso al sito questo sbatte tutta la macchina al massimo...che tipo di virus può essere?
    Avete un idea su come incominciare? faccio dei grep su tutto il codice cercando qualcosa tipo i
    base64 decode dentro a php?

  6. #6
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Bhè le possibilità sono parecchie.
    L'uomo saggio tiene sempre una copia dei sorgenti, con la quale è immediato verificare se ci sono state modifiche (es. iniezioni) anomale.

    Da quello che posso vedere, anzi meglio da quello che posso intuire sulla base... del nulla , sembreresti avere un processo greedy che forka a tutto spiano per saturare la macchina.

    Quello che ti suggerisco di fare è verificare i processi in esecuzione PRIMA e DOPO l'avvio del sito, redireziona su file gli elenchi e dacci un'occhiata.

    Se son sorgenti php aggiorna di gran carriera tutto quello che puoi aggiornare: dall'interprete ad apache al demone ssh (se lo usi).

    Anche e soprattutto eventuali altre piattaforme (tipo wordpress, per non dire i programmi di amministrazione remota ammesso che li usi)

    Anche il server mysql (anzi l'ideale sarebbe sostituirlo con mariadb)

    Perchè ci sono varie possibilità: da un bug in "qualcosa" che il tuo sito fa emergere (cosa non così impossibile, anzi...) fino a un "virus" vero e proprio.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.