Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: HannuTapio - 14.03.21 - klo:13.53
-
Hei,
Minulla on palvelimia monta, ja minä olen varautuna varmuuden vuoksi siihen, että, palvelimissani voisi olla muutama tuhat käyttäjää kerrallaansa.
Minä en ole ohjelmoija, enkä tietotekninen, olen lautapeli harrastelija, ja minulla on tällä hetkellä näin seuraavasti nämä minun päivittyvät ja runsaassa rasituksessa olevat kansiot.
Minulla on /var/www/ hakemisto ramdrive 1111M
Minulla on /var/log/ hakemisto ramdrive 222M
Minä muita rasitteessa olevia kansioita ubuntu server käyttää, kun palvelee kerralla, joka sekuntti, useita kymmeniä henkilöitä ?
Minä tahtoisin laittaa ramdriven jokaiseen tuollaiseen rasitteessa olevaan kansioon, minä sitten kerran tunnissa kopioin ramdrivet /home/bu/ kansioon.
Minulla on tmpfs käytössäni.
:) :) :)
--
-
Etsinet tällaista ?
https://www.google.com/search?channel=fs&client=ubuntu&q=linux+ramfs
-
Etsinet tällaista ?
https://www.google.com/search?channel=fs&client=ubuntu&q=linux+ramfs
Ehkä parempi etsiä ohjeita tmpfs:n käyttöön, se on vähän modernimpi ratkaisu. Se on siis muistissa oleva tiedostojärjestelmä ihan juuri HannuTapion tarkoittamalla tavalla (tuo "ramdrive").
tmpfs-asiaa Linux.fi:n wikissä:
https://www.linux.fi/wiki/Tmpfs
Jos liität johonkin hakemistoon tmpfs-tiedostojärjestelmän, niin huomaa, että se on liitettäessä tyhjä. Sinne pitää siis kopioida sisältöä. Periaatteessa voi vaikka tehdä systemd-yksikön, joka käynnistäessä huolehtii tuosta ja sammutettaessa toki myös kopioi tiedostot talteen, mutta ehkä kannattaa aloittaa kokeileminen helposta vaikka omalla koneella. Eli luo tuollaisen liitospisteen, liittää siihen tiedostojärjestelmän ja selvittää itselleen myös miten ne tiedostot saa sinne helpoiten komentorivillä kopioitua.
Kannattaa sitten huomata, että Linuxissa on lohkovälimuisti (block cache), joka kyllä pyrkii huolehtimaan siitä ettei levyä turhaan kirjoiteta tai sieltä tarvitse lukea usein muuttuvia tietoja, joten välttämättähän tämä ei suorituskykyä juuri paranna. Se siis käytännössä pitää noita usein käytettyjä tietoja muutenkin muistissa, jos muistia vain on tarpeeksi. Erona on toki se ettei käyttäjän tarvitse itse ymmärtää niitä levylle kopioida.
-
Kansioita,
Mitä muita kansioita rasittuu, kun on paljon käyttäjiä ubuntu serverissä.
Onko hyvä idea laittaa /tmp/ ja /home/.cache myös ramdriveen ?
Entä mitä muita kansioita ?
Voiko tulla toiminnallista häiriötä, jos laittaa /tmp/ ja /home/cache ramdriveen, tämä kun resetoi konetta, koska ramdrive nollaantuu tällöin ?
Kyllä varmaankin on sittenkin riittävää, varmaan, nämä kaksi kansiota vaan, /var/www/ ja vielä /var/log/ ?
:) :) :)
--
-
Ubuntussa kuten muissakin uusissa järjestelmissä on disk cachet ihan oletuksena käytössä.
Eli sisältöä ei tarvitse siirtää mihinkään erikseen, jos sitä luetaan toistuvasti, niin se on automaattisesti rammissa kyllä saatavilla.
Mitä tuli tmpfs:n, ajoin itse sen kanssa kerran miinaan. fsync kutsut nimittäin jostain ihmeen syystä ainakin aikaisemmin menivät levylle asti tuosta läpi. En kyllä ymmärrä miksi, mutta oli tärkeää, että ohjelma joka käytti tmpfs:ssä olevia resursseja ei kutsunut fsync:iä fileille.
Optimointi harrastuksena ja harjoituksen ja tunkkaamisen vuoksi on kiva juttu, mutta tuskin on käytännönmerkitystä suorituskyvyn kannalta näissä keisseissä.
Eikä asia muuten näemmä ole mihinkään muuttunut tuon mainitsemani detskun osalta:
ramfs
Executed in 74,69 millis fish external
usr time 62,12 millis 444,00 micros 61,67 millis
sys time 12,48 millis 148,00 micros 12,33 millis
tmpfs
Executed in 3,67 secs fish external
usr time 137,39 millis 610,00 micros 136,78 millis
sys time 199,81 millis 190,00 micros 199,62 millis
Mitä tein? Loin 4096, 4096 tavun filettä, synkkasin ja suljin tiedoston (kuten on aina hyvänä tapana, jos sisältö on jotain mikä pitää oikeasti tallentaa).