Category: Tietotekniikka

  • Palvelimella hitautta ja sivusto nurin

    Tänään päivällä tuli havaittua että tämä sivusto ei enää ollut pystyssä vaan sivustolla vierailija sai eteensä ainoastaan nettiselaimen antaman virhesivun. Ongelma poistui kun palvelimen käynnisti uudelleen.

    Ongelman syy oli mitä luultavamminkin palvelimen muistin loppuminen minkä takia kaikkia tarvittavia palveluita ei enää pystynyt pyörittämään ja sivusto kaatui kun palvelin sulki prosessejaan. Itse palvelin kuitenkin oli käynnissä, mutta aivan järjettömän suurella kuormituksella suhteessa palvelimen tehoihin ja ainakin tietokanta oli jo stopannut muistin vähyydestä.

    Virtuaalipalvelin jolla tämä sivusto pyörii on hinnat alkaen -mali ja muistin määrä on vähäinen, joten voi olla että vastaavanlaisia ongelmia tulee jatkossakin. Toisin sanoen jos sivusto joskus on taas nurin, ei kannata ihmetellä sillä tätä pyöritän pienellä budjetilla ja korjaan kun kerkeän. Isommalla rahalla toki saisi parempiakin ratkaisuja jotka toimisivat varmemmin, mutta en kovin suuria summia halua ainakaan tässä vaiheessa käyttää tämän pyörittämiseen, sillä kyseessä on harrastustoiminta eikä mikään business-kriittinen palvelu.

    Jos samanlaisia ongelmia alkaa olemaan useamminkin niin luultavasti vaihdan seuraavan hintaluokan palvelimeen tai siirrän koko sivuston toiselle virtuaalipalvelimia vuokraavalle taholle jossa samalla hintaa saa isomman ja tehokkaamman serverin.

    Tällä kertaa oli kuitenkin helppo toimenpide tehtävänä joka edes hieman antaa lisäaikaa ennen kuin tarvitsee isompaa palvelinta miettiä. Jostain syystä palvelimella ei ollut konfiguroitu ollenkaan swappia käyttöön, joten kun muisti loppui, se loppui ja lopputulos oli sen mukainen.

    Tavallisesti tietenkin swap on käytössä jolloin muistin loppuessa käyttöjärjestelmä alkaa kirjoittamaan muistinsa sisältöä levylle kun muisti loppuu, mutta koska sitä ei ollut niin muistin loppuminen aiheutti sen sijaan vain suoraan prosessien tappamista, järjetöntä hitautta ja sivuston toimimattomuuden.

    Koska swappiin kirjoittaminen ja sieltä lukeminen on merkittävästi hitaampaa kuin muistista, alkaa tietenkin hitautta ilmenemään siinä vaiheessa kun muisti seuraavan kerran loppuu. Jospa lisäämäni muutaman gigan swappi kuitenkin auttaisi ja sivusto ei kokonaan kaatuisi vaan ainoastaan hidastuisi siinä vaiheessa kun alkaa taas joku prosessi viemään kaiken tehon.

    Katsotaan mitä tulevaisuus tuo tullessaan. Jos siis sivusto on aina joskus nurin, ei sitä kannata ihmtellä, teen tässä sitä mukaa tarvittavia toimenpiteitä ja arvioita siitä että kannattaako sijoittaa enemmän rahaa vaiko enemmän omaa aikaa asioiden säätämiseen.

  • Koodauksen iloja aikavyöhykkeiden osalta

    Kaveri linkitti erittäin mielenkiintoisen videon YouTubesta jossa on selostettu ohjelmoijan näkökulmasta miksi tavallisen rivikoodarin ei kannata lähteä koskaan laskemaan aikoja eri aikavyöhykkeiden välillä omatekoisilla ratkaisuilla.

    Video kannattaa katsoa vaikka ei olisikaan koodari, koska siitä saa hyvän käsityksen kuinka järjettömän monimutkainen systeemi eri aikavyöhykkeet ovat tietokoneille käsitellä ja miksi näin on.

    https://www.youtube.com/embed/-5wpm-gesOY

  • WAV-tiedosto MONO-muotoon Mac OSX:ssä

    Tänään tuli tarvetta muuntaa stereo-muotoinen WAV-tiedosto mono-muotoon Mac OSX:ssä. Aikani selviteltyäni löysin ratkaisun miten sen voi tehdä komentorivillä (toki voin Logicissakin tehdä, mutta halusin helpon komentorivitavan).

    Tein tiedoston wav2mono joka on seuraavanlainen:

    #!/bin/bash
    for input_file in *.wav
    do
    output_file=mono_$input_file
    echo "Converting file $input_file to MONO WAV file to $output_file"
    afconvert $input_file -o $output_file -c 1 -d LEI16
    done
    

    Eli kyseinen wav2mono vetäisee kaikki hakemistossa olevat WAV-tiedostot mono_wav_tiedoston_nimi.wav nimiseksi mono-tiedostoksi.

    Jos yksittäinen tiedosto vain tarvitsee muuntaa, onnistuu se yksinkertaisesti siis:

    afconvert input_file.wav -o output_file.wav -c 1 -d alaw