Palvelimien päivitys
Lähetetty: Su 20.03.2011 1:21
Kuten jotkut varmaan huomasikin, geocache.fi siirtyi lauantai-iltapäivänä käyttökatkon myötä käyttämään uljaita uusia käyttöjärjestelmän versioita sekä PHP:n uutta versiota. Vaikka päivityksessä on aina odotettavissa paljon ongelmia on se joskus tehtävä jotta palvelimissa on uusimmat ja turvallisimmat käyttöjärjestelmän sekä PHP:n versiot, joille valmistajan tukikin on taas tarjolla pitkän aikaa.
Päivitys aiheuttikin tosiaan odotettuja, mutta ei toivottuja, ongelmia. Varsinaisen käyttöjärjestelmäpuolen tabulaattoriongelmat niin normaalissa komentotilassa kun emacs:n php-editoinnissa toki tuli koettua ja lisäksi kaikkea muuta hauskaa:
- PHP:n uusin versio valitti kaikista niistä käskyistä mitkä ovat DEPRECATED eli "vanhentuneita" 5.2 ja 5.3 -versioiden välillä. Luonnollisesti PHP:n asetustiedosto ei moista virheilmoitusta tuntenut kun oli vanhemman version. Niinpä täytyi selvitellä ja säädellä että sai kaikkialta ja joka php.inistä (joita normaalin lisäksi on ainakin /cgi/php.ini /cli/php.ini jne.) pois virheraportoinnin tämän kamalan virheen johdosta (vielä välttyi niiden kaikkien 100.000 "vanhaa" käskyä käyttävän rivin muuttamiselta).
- Seuraavaksi palvelin oli polvillaan kuormituksen vuoksi. Lopulta löytyi omituinen seikka: härvelit joiden piti päivittää yksittäistä kätköä näyttikin ajelevan tyynesti kaikkia Suomen kätköjä läpi. Näinhän se olikin; $_ENV['muuttuja'] ei enää sisältänytkään ympäristömuuttujan arvoa vaan kaikki nuo piti muuttaa $_SYSTEM['muuttuja'] -muotoon
- Löydöt kunnittain -kartta antoi bugia. Osoittautui että yksi komento sai sisäänsä nolla-arvon joka teoriassa oli kyllä väärin mutta ei aiemmin aiheuttanut virheilmoitusta.
- Perl -puolella käytössä oleva MIME parseri olikin tipahtanut pois asennuksesta; ja asennuksen jälkeen se vielä jaksoi leikkiä quoted-printable -merkkien kanssa joita ei enää osannut muuntaa... nooh, purkkaa siihen avuksi tähän hätään
- Sivustolla oli sekaisin niin Latin (iso-8859-1)- kuin WTF... eikun UTF-8 -merkistöt; php suolsi toista ja headerit väitti toista. Loppujen lopuksi sivut on nyt virallisesti iso-8859-1 -headerilla ja sisältökin ehkä sitä, paitsi keskustelun puoli joka pösöttää UTF-8:lla ainakin headereiden, ehkä myös sisällön suhteen
- Keskustelusoftan tekijät ovat päättäneet ettei palvelimen asetuksista tarvitse välittää vaan ovat määritelleet oman virheraportointimäärityksen; niinpä sielläkin DEPRECATED sitten vilkkui joka puolella
Mitä tästä kaikesta opimme? Emme mitään! Mutta niin, asia oli siis:
Nyt voi tähän ketjuun kertoa mahdollisista eteen tulevista ongelmista. Vaikka kaikkea olen koittanut tutkia läpi niin johonkin edelleen on voinut jäädä jokin bugi taikka PHP:n mielestä nyt kelpaamaton asia. Koska oikeastaan mikään ei toimi ellei sitä toimivaksi ole todettu niin vikaa voi ilmentyä esim. sivuilla näkyvinä ylimääräisinä virheilmoituksina, toimimattomina tilastokuvina ja ties miten muutenkin.
Sunnuntaipäivä näyttää miten palvelimet nyt kuormitustensa kanssa jaksavat. Ongelmakorjausten jälkeenkin kuormitukset näyttivät (ja näyttävät edelleen) aiempaa korkeammilta mutta toisaalta datan ajantasaisuustilanteissa on nähtävissä parannusta. Vaikuttaakin siltä että palvelimet pystyvät nyt suorittamaan koodia tehokkaammin ja tästä johtuen nostavat kuormia ylärajoille.
Tarvittaessa sitten teen kevennystä hommiin mutta toivotaan että jotenkin palvelimet jaksavat sunnuntaiaamupäivän; itse olen pedissä näkemässä painajaisia suurista vaaleanpunaisista PHP -elefanteista jotka pomppivat päälleni ja tuuttaavat kärsästään DEPRECATED -sanoja...
Päivitys aiheuttikin tosiaan odotettuja, mutta ei toivottuja, ongelmia. Varsinaisen käyttöjärjestelmäpuolen tabulaattoriongelmat niin normaalissa komentotilassa kun emacs:n php-editoinnissa toki tuli koettua ja lisäksi kaikkea muuta hauskaa:
- PHP:n uusin versio valitti kaikista niistä käskyistä mitkä ovat DEPRECATED eli "vanhentuneita" 5.2 ja 5.3 -versioiden välillä. Luonnollisesti PHP:n asetustiedosto ei moista virheilmoitusta tuntenut kun oli vanhemman version. Niinpä täytyi selvitellä ja säädellä että sai kaikkialta ja joka php.inistä (joita normaalin lisäksi on ainakin /cgi/php.ini /cli/php.ini jne.) pois virheraportoinnin tämän kamalan virheen johdosta (vielä välttyi niiden kaikkien 100.000 "vanhaa" käskyä käyttävän rivin muuttamiselta).
- Seuraavaksi palvelin oli polvillaan kuormituksen vuoksi. Lopulta löytyi omituinen seikka: härvelit joiden piti päivittää yksittäistä kätköä näyttikin ajelevan tyynesti kaikkia Suomen kätköjä läpi. Näinhän se olikin; $_ENV['muuttuja'] ei enää sisältänytkään ympäristömuuttujan arvoa vaan kaikki nuo piti muuttaa $_SYSTEM['muuttuja'] -muotoon
- Löydöt kunnittain -kartta antoi bugia. Osoittautui että yksi komento sai sisäänsä nolla-arvon joka teoriassa oli kyllä väärin mutta ei aiemmin aiheuttanut virheilmoitusta.
- Perl -puolella käytössä oleva MIME parseri olikin tipahtanut pois asennuksesta; ja asennuksen jälkeen se vielä jaksoi leikkiä quoted-printable -merkkien kanssa joita ei enää osannut muuntaa... nooh, purkkaa siihen avuksi tähän hätään

- Sivustolla oli sekaisin niin Latin (iso-8859-1)- kuin WTF... eikun UTF-8 -merkistöt; php suolsi toista ja headerit väitti toista. Loppujen lopuksi sivut on nyt virallisesti iso-8859-1 -headerilla ja sisältökin ehkä sitä, paitsi keskustelun puoli joka pösöttää UTF-8:lla ainakin headereiden, ehkä myös sisällön suhteen
- Keskustelusoftan tekijät ovat päättäneet ettei palvelimen asetuksista tarvitse välittää vaan ovat määritelleet oman virheraportointimäärityksen; niinpä sielläkin DEPRECATED sitten vilkkui joka puolella
Mitä tästä kaikesta opimme? Emme mitään! Mutta niin, asia oli siis:
Nyt voi tähän ketjuun kertoa mahdollisista eteen tulevista ongelmista. Vaikka kaikkea olen koittanut tutkia läpi niin johonkin edelleen on voinut jäädä jokin bugi taikka PHP:n mielestä nyt kelpaamaton asia. Koska oikeastaan mikään ei toimi ellei sitä toimivaksi ole todettu niin vikaa voi ilmentyä esim. sivuilla näkyvinä ylimääräisinä virheilmoituksina, toimimattomina tilastokuvina ja ties miten muutenkin.
Sunnuntaipäivä näyttää miten palvelimet nyt kuormitustensa kanssa jaksavat. Ongelmakorjausten jälkeenkin kuormitukset näyttivät (ja näyttävät edelleen) aiempaa korkeammilta mutta toisaalta datan ajantasaisuustilanteissa on nähtävissä parannusta. Vaikuttaakin siltä että palvelimet pystyvät nyt suorittamaan koodia tehokkaammin ja tästä johtuen nostavat kuormia ylärajoille.
Tarvittaessa sitten teen kevennystä hommiin mutta toivotaan että jotenkin palvelimet jaksavat sunnuntaiaamupäivän; itse olen pedissä näkemässä painajaisia suurista vaaleanpunaisista PHP -elefanteista jotka pomppivat päälleni ja tuuttaavat kärsästään DEPRECATED -sanoja...