Proudly debugging the system since 1981

Autore: bosh (Pagina 34 di 52)

Addio all’hosting parte 3

Installiamo un pò di tool di base

yum install net-tools
yum install ftp

yum install wget

wget è particolarmente comodo per clonare un intero archivio ftp, ad esempio dall’hosting precedente. La sintassi è questa :

wget -r –user=”user@login” –password=”password” ftp://server.com/

Alla fine l’installazione di test di questo blog si può vedere qui.

Ora il problema principale sarebbe abbassare il tempo del primo byte fornito, che al momento si assesta sui 1,5-1,7 secondi nonostante il carico del server sia nullo.

La valutazione delle performa può essere fatta su WebPagetest.

Una guida interessante si puo trovare a questo link anche se non sembra utile per abbassare il tempo del primo byte. Apache Bench si trova nel paccheto httpd-tools.
Il problema dei test proposti è però l’eccessivo parallelismo. Impostare a 1000 apache bench con 32 processi php-fpm in ascolto mi sembra assurdo e infatti falliscono tutti (per altro senza che apache bench se ne accorga). Di mio ho impostato minimo 5, massimo 24. E con 24 richieste parallele la velocità è effettivamente molto compromessa.

 

Addio all’hosting parte 2

La piattaforma che ho scelto è nginx per le risorse statiche e come reverse prowxy, php-fpm o tomcat 8 per le app, mariadb per la persistenza.

Ma la prima cosa da far funzionare è la persistenza, in quanto le app è facile mantenerle sull’hosting attuale fino alla scadenza ma la persistenza deve essere spostata per prima.

Ma per la persistenza serve una piattaforma di gestione … il che significa l’odiato/amato phpMyAdmin e quindi un server php funzionante. Quindi facciamo le cose in ordine … questa è la guida da cui ho tratto ispirazione -> LINK. Poi forse la traduco con le personalizzazioni che ho fatto, o forse no.

Ora probabilmente php deve essere configurato per gestire l’upload di file un pò piu grossi della configurazione standard a meno che i vostri database siano microscopici.

Quindi su php.ini

post_max_size = 50M
upload_max_filesize = 50M

In caso di DB molto grossi può essere utile comprimere in zip il dump e alzare il limite della ram assegnata a php e il timeout. Ad esempio

php.ini :

max_input_time = -1
memory_limit = 128M

(Sarebbe bene riportare questi parametri a valori piu cautelativi una volta terminata l’importazione, sopratutto per il max_input_time)

Scarichiamo phpMyAdmin e installiamolo su un virtual host fatto apposta. Noip.com offre la possibilita di creare un pò di domini di terzo livello gratuitamente e può essere utile per il nostro scopo.

In alternativa se proprio phpMyAdmin non digerisce il dump c’è sempre l’importazione da linea di comando. L’istruzione è questa :

mysql -u <username> -p -h localhost <database_name> < dumpfile.sql  

Per ogni database si dovrebbe essere un utente diverso, momentaneamente abilitato alla connessione da qualsiasi host con privilegi sui soli dati (SELECT/INSERT/UPDATE/DELETE) per il solo database che deve usare. Non cadete nella tentazione di assegnare ad un utente con accesso remoto tutti i permessi su tutti i database.
Terminata la migrazione bisognerà disattivare l’accesso da remoto.

I permessi possono essere testati con lo stesso phpMyAdmin.

Addio all’hosting parte 1

Si ci sono ricascato, costano poco percui mi sono detto… perchè pagare n hosting ( n<10 ) quando puoi prenderti un VPS, farci quello che vuoi e vivere felice.

La prima risposta di una persona sana di mente direbbe perchè lo devi gestire e non hai il tempo per farlo. Ma visto che non lo sono chissene.

OVH vende vps ad un prezzo ridicolo quindi ne ho preso uno per qualche mese e vediamo che succede. La scelta è ricaduata su server CENTOS 7, 64bit, 1 giga di ram, 1 vcore e 10 giga di spazio.

Nelle prossime puntate le scelte che ho fatto e come è andata a finire.

Momenti di tristezza

Scoprire che le anonymous functions in php funzionano egreggiamente e in java, mediamente, è ancora una valle di lacrime (almeno per me, visto che java8 resta un miraggio).

Se vi andasse di approfondire qui e qui.

Deviazione standard con PL/SQL

Pl/Sql implementa la definizione probabilistica di deviazione standard, ovvero :

dv_std_probcon la comoda funzione STDDEV, mentre a me (e forse non solo a me) serviva la versione statistica, ovvero :

dv_std_statChe si traduce in  :

SQRT((1 / COUNT(*)) *  (SUM( $colonna  * $colonna ) – (COUNT(*) * AVG( $colonna ) * AVG( $colonna ))))

Immagini da wikipedia

WordPress 4

Si è uscito un millennio fà e ho aggiornato solo ora. Fortunatamente il trucchetto anti-bot ha funzionato egreggiamente quindi nessun antipatico malware è stato distribuito per colpa del mancato aggiornamento. No non vi dico qual’è (ahaha).

Cmq se si rompe qualcosa siate cosi gentili da segnalarlo.

Codemotion Milan 2014 – Secondo giorno

Appunti sugli speech del secondo giorno :

  • Why everyone is excited about Docker (and you should too…) tenuto da Carlo Bonamico : Si, Docker è veramente interessante. Permette di risolvere alcuni problemi che sono molto comuni: replicare ambienti di produzione anche complessi in locale, testare efficacemente, eseguire dei deploy sicuri. L’idea di base è avere qualcosa che assomigilia ad una virtual machine, ma è molto piu leggera ed è quindi possibile averne anche diverse decine in esecuzione su un computer desktop, ed è “stratificata” e componibile a moduli. Slides.
  • L’architettura di Stack Overflow tenuto da Marco Cecconi : come hanno risolto problemi inerenti l’elevato traffico in Stack Overflow. Da questo ho capito che .net ha grossi, grossi problemi col garbage collector. E tutto il lavoro sta nel cercare di instanziare il minor numero di oggetti possibili. Slides.
  • Evolutive experience design; o la sopravvivenza del più adatto tenuto da Luca Mascaro : l’incapacità dei programmatori di capire i babbani è una triste realtà. Più che altro per i babbani, che ogni giorno sono immersi in un mondo che non capiscono. Ma tant’è e quindi per essere un programmatore migliore ogni tanto è bene sentire uno o due speech tenuti da designer (ovvero utenti che sanno spiegare perchè non capiscono quello che per noi è ovvio). Cavolate a parte l’introduzione del concetto evoluzionistico al design è molto interessante. Non necessarimente la soluzione più raffinata è la migliore … o meglio è la migliore oggi, ma probabilmente avrà problemi ad affrontare i cambiamenti che inevitabilmente ci saranno. Due mini slide su tutte :

  • Designing for cross channel user experience tenuto da Chrissy Welsh : Sulla necessità di tenere conto che gli utenti del mobile, gli utenti desktop e gli utenti che si presentano di presona spesso (sempre?) sono le stesse persone e che bisogna offrigli la possibilità di fare ciò di cui hanno bisogno a prescindere dal canale che usano. E ovviamente non basta fare un sito responsive, come è stato fatto ripetere a tutti in coro stile alcolisti anonimi.
  • Time Series: Dalla Teoria alla Pratica con MongoDB tenuto da Massimo Brignoli, Ivan Fioravanti : l’utilizzo di mongoDB nelle sequenze temporali di dati, con alcuni trucchi per migliorare le performance in lettura e analisi. Sildes.

Repository ufficiale delle slides su slideshare .

« Articoli meno recenti Articoli più recenti »

© 2026 b0sh.net

Tema di Anders Noren — Su ↑