Portál AbcLinuxu, 30. dubna 2025 10:10
Nechám si poradit jak optimalizovat index.V PostgreSQL příkazem
REINDEX
. U MySQL nevím.
Každopádně defragmentace by ten soubor alepoň spojila dohromady.A následující zápisy ho zase budou fragmentovat. Myslím, že na udržení málo fragmentovaných souborů pro databázi musí databáze a souborový systém spolupracovat – ale nevidím důvod, co by jim v tom bránilo. Podle mne pokud bude databáze alokovat diskový prostor napřed a používat řídké soubory (tj. oznámí souborovému systému, že bude potřebovat pravděpodobně velký soubor, ale fyzicky si zatím vezme jenom část), a souborový systém bude takové soubory alokovat tak, že (pokud je místo na disku) vynechá na disku místo pro celý takový soubor, pak by k fragmentaci nemělo docházet. Samozřejmě pokud databáze zvětšuje soubor po malých blocích s tím, že souborový systém se s tím nějak vyrovná, bude soubor fragmentovaný, protože tenhle způsob využití je netypický a obecný souborový systém pro něj asi nemůže být optimalizován.
malloc
u. Tedy program by sdělil operačnímu systému délku vytvářeného souboru, OS by jej alokoval jak nejlépe by to šlo a program by pak zapisoval data.
A fragmentaci by asi nejvíc pomohlo mít databázové soubory na vyhrazeném oddílu – pak by se do těch databázových souborů nemotaly fragmenty jiných souborů a fragmentace by měla zůstat na nízké úrovni.
Abych nakonec nedopadl jako pan Ponkrác akorát bych měl oddíly dle aplikací. /www /mysql /squid
LVM samozřejmně používám .
... LV Write Access read/write LV Status available # open 1 LV Size 96.19 GB Current LE 3078 Segments 3 Allocation inherit Read ahead sectors 0 ...
Jo jo, chtělo by to nějakej LVM defrag .
Wau. Je to hodně mladá funkce, takže asi nebude moc rozšířená, ale je to krok správným směrem. Díky.
No jestli chceš mám tu jiné pikantní příklady souborů, které byly zapsány pouze jednou na oddíl o 50% zaplnění.Budu hádat - velké soubory, které se zapsaly naráz, ale stejně jsou fragmentované...
Nechávat mezi soubory volné místo (tj "fragmenovat" prázdné místo) je velmi elegantní způsob jak zabránit fragmentování samotných souborů. Zásadní chybou interního defragu ve Windows je snaha vše naplácat na jednu hromadu. Jediný defrag do Windows který umí spojit soubory a nechat místo místem je Raxco Pefrect Disk. Pak je celý proces stejně rychlý jako třeba xfs_fsr
. Velký soubor je pak samozřejmně fragmentovaný (protože je nacpán do těch volných míst), ale většinou to není nijak tragické. Pár seeků navíc při čtení mnoha GB souborů průměr rychlosti čtení moc neovlivní.
Btw. kde se to nechá stáhnout?
filefrag
? Na Fedoře jej mám v balíčku e2fsprogs
.
Na Fedoře jej mám v balíčku e2fsprogsAha, ono je to přímo v utilitách pro ext3, tak tam mě nenapadlo hledat. Jdu se stydět do kouta.
Nechám si poradit jak optimalizovat index. Tabulka byla optimalizována mnohokrát. Každopádně defragmentace by ten soubor alepoň spojila dohromady.Ten soubor by spojila dohromady...a to by se projevilo přesně jak, hm? Copak k indexovým stránkám se přistupuje sekvenčně? Není to takhle náhodou B-strom? Ten se traverzuje značně nesekvenčním způsobem. Krom toho u slušně nakonfigurovaného serveru se stejně minimálně ty indexy vejdou do paměti. "Optimalizovaná tabulka". Chm. Všichni machři na Internetu s tím slovem obratně žonglují, ale ještě z nich dostat vysvětlení, co tím vlastně mají na mysli.
Defragmentuje tuším prostým kopírováním, metodou pokus-omyl.
Ano, tohle dělá i shake. Problém je, že to nelze použít pro soubory otevřené pro zápis.
reiserfs nemá podobný nástroj vůbechm, myslel jsem si, že pro reiserfs existuje placený repacker, ale když se to pokouším googlit, tak dostávám samé nesmysly o tom, že repacker bude v reiser4, a když se to pokusím vyloučit, tak dostávám informace typu, že "ještě" nemá z mailinglistů starých sedm let apod. :-/
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.