Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Topics - lossoth

Pagine: [1]
1
Server / PHP + Postgresql lento
« il: 14 Ottobre 2011, 12:30:08 »
Da quando ho riacceso tutto ho dei problemi con postges: alcune volte ha dei rallentamenti improvvisi e le query fatte dall'interfaccia web sono troppo lente.
Postgres gira sulla stessa macchina sotto attacco e viene lanciato dal php sempre sulla stessa macchina per eseguire delle query da visualizzare nella parte pubblica web.
Ieri ho fatto un po' di tuning di postgresql.conf alzando i seguenti valori da -> a:
- max_connections 200->400
- shared_buffers 32Mb->64Mb
- effective_cache_size 128Mb -> 4096Mb
(il server ha 8Gb RAM)

C'è una cosa strana che non capisto:
analizzando i log delle query fatte da php via apache queste sono nell'ordine dei 5 secondi! mentre la stessa query lanciata con explain analyze in psql sul medesimo db (via shell) da un tempo nell'ordine dei 0.05 millisecondi!
Quindi non è il db in se ad andare piano, ma è quando una query viene lanciata da php.

Qualche idea?

Non posso cambiare DB...

Gli indici sono messi bene.

Il dubbio che mi assale è che abbia messo qualche impostazione tcp che non va bene per postgres (in un post precedente c'è im mio sysctl.conf modificato).

Edit:
Mi sono limitato a riportare il tuo post precedente.

2
Sicurezza / attacco "SYN FLOOD" con spoofed IP
« il: 10 Ottobre 2011, 13:52:01 »
Ciao a tutti!
Da 5 giorni mi sono accorto di essere sotto attacco SYN FLOOD.
web server: CentOS 5.5 - Apache 2.2.3 - kernel: 2.6.18-194.17.1.el5

Sintomi:
- load basso
- traffico rete normale (non è un problema di connessione lenta)
- netstat mostra numerose requests syn in stato SYN_RECV
quindi il server è li in attesa di una risposta ACK dal client che non arriverà mai in quanto gli IP sono fasulli, quindi apache rallenta

Le soluzioni che ho trovato agiscono o sul firewall o sulle varibili TCP di sistema.

1- firewall: iptables
sono abbastanza sicuro che gli accessi syn siano fatti sulla porta 80 dove gira apache e non sulla 22 aperta per ssh
quindi mi sembra non sia inerente alla discussione: Aumento costante processi ssh (http://www.centos-italia.org/index.php?action=post;board=25.0)

2- variabili TCP /proc/sys/net/ipv4: due indicazioni teoriche
-- aumentare la coda delle connessioni SYN_RECV aperte
-- diminuire l'intervallo di tempo in cui una connessione rimane in stato SYN_RECV

Io ho:
- attivato tcp_syncookies (il kernel lo dovrebbe supportare)
- messo tcp_synack_retries e .tcp_syn_retries=1
però non vedo miglioramenti nella velocità del sito

Tra i mille dubbi ho le seguenti domande...

1- tcp_max_syn_backlog: vedo nella documentazione che per portarlo oltre 1024 (il mio valore attuale) c'è il seguente warning (incollo che faccio prima):
[Warning! If you make it greater than 1024, it would be better to change TCP_SYNQ_HSIZE in include/net/tcp.h to keep TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog and to recompile kernel.]

2- qualcuno saprebbe indicarmi come "diminuire l'intervallo di tempo in cui una connessione rimane in stato SYN_RECV"? non riesco a trovare un parametro corretto
tcp_fin_timeout non fa al caso mio in quanto qui siamo già avanti nello stack tcp

3- c'è forse qualcos'altro da prendere in considerazione?

Grazie!

Pagine: [1]