velicina tmpfs-a nema nikakve veze sa kolicinom rama vec sa kolicinom i velicinom temp tabela koje pravis. Ako pravis previse temp tabela mozda i 99% rama da stavis u tmpfs nece biti dovoljno a ako ti nestane mesta u tmpfs-u za temp tabele upiti ce biti ubiveni i imaces ko zna kakve greske... ja sam gledao upite koji prave po 15+G temp tabele (bas pre neki dan jedan koji pravi 11G temp tabelu - jedan upit .. pritom cela baza je manja od 11G... ali sta ces, indijci..) tako da ako ti imas 16G rama na serveru .. treba 15G da das temp tabelama .. nema bas mnogo smisla ...
dakle, tu nema globalne racunice nego izvadis metriku sa svog servera i u odnosu na to radis dalje, ako naletis na "sort aborted" i slicne grese u logu znas da si se za* i da treba da prekonfigurises to posto ostajes bez prostora u tmpdir-u
> - max_tmp_size/heap_size Vs. tmpfs
ne postoji uopsteni odgovor! idealna konfiguracija bi bila "ako je temp tabela manja od XYZ onda je kreiraj u ramu, ako je veca onda je kreiraj na disku", ali tu sada na scenu stupa nesavrsenost mysql-a odnosno razni limiti pa takva konfiguracija ne moze da se napravi. Temp tabele se prave MEMORY engine-om koji ima cudo limita, ne moze blob, ne moze veci slog od x ne moze veci field od y etc etc ... i onda ti kazes "ako je tabela manja od 16M napravi u memoriji" a on tabelu od 5M napravi na disku zato sto sadrzi varchar (255) sa utf karakter setom... e sad ako ti je to jedini problem onda ti gurnes tmpdir na tmpfs i resis taj problem ali posto ti je ram vrlo ogranicen resurs onda to nece da radi ako imas upite koji prave gigabajtne temp tabele posto ce prskati upiti jerbo nece imat dovoljno ram-a...
> -swapovanje i tmdir na tmpfs. Na par mesta sam video da je preporuka da se nikako ne gasi swappines na OS ukoliko se koristi tmpfs za tmpdir.
vidi ovako, tmp dir za OS ili tmpdir za mysql? tmpdir za OS ima smisla na desktop sistemu i mozda na nekom php serveru ... ali za db server je to cista glupost. swappiness na desktop serveru treba da je 50 ili vise, posebno ako je tmpdir na tmpfs-u ali na db serveru, swappiness treba da je 0. ima sad fora, ako ti stavis na tmpfs tmpdir od db servera pa dignes swappiness na 10-50 da bi on vise swapovao a manje trosio ram kako bi imao vise mesta za tmpdir - to postoji kao filozofija ali se pokazala kao jako losa za performanse. Vise ces izgubiti na performansama sa swapiness 50 nego sto ces dobiti sa tmpdirom na tmpfs-u. Sve ovo vazi za dedicated db server, kada server nije dedicated sve ovo prestaje da vazi i sada imas potpuno drugu matematiku koja zavisi od 1000 novih faktora i tu uglavnom swappines ima smisla ali tu si u startu pogresio posto je vrlo pogresno terati "ne dedicated" db server (osim ako ti load i performanse ne predstavljaju problem, ali onda celo pitanje nema nikakvog smisla)