Tmpfs is a file system which keeps all files in virtual memory. TMPFS adalah sistem berkas yang menyimpan semua berkas ke dalam memori virtual. TMPFS memiliki ukuran yang didefinisikan di awal dan memberikan pesan disk full jika sudah penuh. TMPFS mengikuti sifat dari RAM, yaitu data akan hilang bersamaan dengan hilangnya tenaga listrik. TMPFS akan memanfaatkan SWAP jika tidak ada lagi ruang di RAM (sumber: https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt)
Persiapan
http://pdsi.unisayogya.ac.id/percepat-server-dengan-tmpfs/
RAM_TMP Untuk Mempercepat Kinerja WordPress
- Install plug-in untuk cache
- Cari setting Cache Location atau dengan bahasa sejenis, contoh: http://www.wpbeginner.com/beginners-guide/how-to-install-and-setup-wp-super-cache-for-beginners/
- Isi dengan nama direktori yang sama dengan direktori di mana subdomain berada, misalnya jika subdomain berada di /var/www/wordpress1, maka isi dengan /ram_tmp/wordpress1. Perhatikan, apakah direktori otomatis dibuat atau harus dibuat oleh admin secara manual. Jika secara manual, maka jalankan mkdir /ram_tmp/wordpress1 di terminal
- Apabila plug-in untuk cache tersebut membuat berkas (dapat diketahui dari pesan contohnya: Gzip encoding rules in /ram_tmp/wordpress1/.htaccess created.), maka:
- berkas tersebut perlu disimpan ke dalam tempat tertentu, misalnya: /var/www/autogenerate/.htaccess, dengan perintah cp /ram_tmp/wordpress1/.htaccess /var/www/autogenerate/.htaccess di terminal
- kopi berkas tersebut pada saat komputer hidup dengan ketik crontab -e di terminal, dengan isi @reboot /bin/mount -a && cd /var/www; find . -maxdepth 1 -iname ‘wordpress*’ -type d -exec mkdir /ram_tmp/{} \; && cd /ram_tmp; find . -maxdepth 1 -type d -exec cp /var/www/autogenerate/.htaccess {} \; && chown www-data:www-data -R /ram_tmp. (sumber: http://unix.stackexchange.com/questions/94207/recursively-add-a-file-to-all-sub-directories dan http://stackoverflow.com/questions/4509624/how-to-limit-depth-for-recursive-file-list)
RAM_TMP Untuk Mempercepat Kinerja Tomcat
- Jalankan mkdir /ram_tmp/tomcat && mkdir /ram_tmp/tomcat/work && chmod 777 -R /ram_tmp/tomcat di dalam terminal
- Jalankan crontab -e di dalam terminal, tambahkan @reboot mkdir /ram_tmp/tomcat && mkdir /ram_tmp/tomcat/work && chmod 777 -R /ram_tmp/tomcat
- Edit berkas catalina.sh atau catalina.bat
- Tambahkan CATALINA_TMPDIR=”/ram_tmp/tomcat” pada bagian atas dari berkas catalina.sh atau catalina.sh (sumber: http://community.jaspersoft.com/wiki/changing-temporary-storage-directory-ex-tmp-jasperreports-server). Di Ubuntu catalina.sh berada di /usr/share/tomcatx/bin/, di mana x adalah versi dari tomcat, misalnya /usr/share/tomcat8/bin/
- Edit berkas server.xml. Di Ubuntu server.xml berada di /etc/tomcatx/, di mana x adalah versi dari tomcat, misalnya /etc/tomcat8/
- Tambahkan workDir=”/ram_tmp/tomcat/work” pada elemen HOST(sumber: http://stackoverflow.com/questions/24912810/is-it-possible-to-move-tomcats-work-catalina-localhost-directory)
RAM_TMP Untuk Mempercepat Kinerja MySQL
- Edit berkas /etc/mysql/my.cnf
- Isi tmpdir=/ram_tmp:/tmp
Direktori temporari pertama yang digunakan adalah /ram_tmp, jika penuh maka ditambah menggunakan /tmp - Jalankan service mysql restart di terminal
RAM_TMP Untuk Mempercepat Kinerja Squid
- Jalankan mkdir /ram_tmp/squidcache && chmod 777 -R /ram_tmp/squidcache di dalam terminal
- Tentukan ukuran dari swap squid di dalam memori, ketik top, kemudian perhatikan pada avail Mem. Gunakan nilai di bawah itu. Misalnya pada avail Mem terlihat 14024112, berarti bahwa ada sisa memori sebesar kurang lebih 14 MB. Untuk squid bisa dipakai 12 MB. Menurut eksperimen, dapat menggunakan rumus 0.75 * totalRAM.
- Edit berkas /etc/fstab, set:
tmpfs /ram_tmp tmpfs defaults,noatime,nosuid,mode=1777,size=12288M 0 0
12288M didapat dari 0.75 * total RAM = 0.75 * 16384M (jika RAM 16 GB) - Sesuaikan /etc/squid/squid.conf dengan nilai di bawah ini:
#— variabel, tergantung besarnya hitungan/keinginan
#Setting Cache Disk (RAM DISK)
cache_dir aufs /ram_tmp/squidcache 12288 16 256
maximum_object_size 1 MB
#— tidak perlu diedit
cache_swap_state /ram_tmp/squidcache/swap.state
cache_swap_low 90
cache_swap_high 94
#Setting Cache RAM
cache_mem 256 MB
maximum_object_size_in_memory 1 MB
memory_replacement_policy heap GDSF
memory_pools off
#Setting Cache IP, DNS
ipcache_size 100000
ipcache_low 95
ipcache_high 96
fqdncache_size 100000
positive_dns_ttl 48 hours
negative_dns_ttl 30 seconds
#Matikan Log
access_log none
cache_log /dev/null
logfile_rotate 0 - Ketik crontab -e pada terminal, kemudian tambahkan:
#karena cache squid hilang setiap komputer mati, maka buat direktori cache squid ketika komputer hidup/boot
@reboot sleep 10 && /bin/mount -a && /usr/sbin/squid -z && /usr/sbin/squid restart
#hapus pagecache, dentries and inodes setiap 10 menit (http://unix.stackexchange.com/questions/87908/how-do-you-empty-the-buffers-and-cache-on-a-linux-system)
*/10 * * * * sync && echo 3 > /proc/sys/vm/drop_caches
#kembalikan semua yang ada pada swap ke memori setiap 10 menit + 5 detik
*/10 * * * * sleep 5 && /sbin/swapoff -a && /sbin/swapon -a
#refresh swap.state setiap jam 7 pagi agar tidak menjadi sangat besar
0 7 * * * /usr/sbin/squid -k rotate
RAM_TMP Untuk Mempercepat Kinerja Moodle
- Masuk ke menu Administration > Site Administration > Plugins > Caching > Configuration
- Pada Installed cache stores pilih Add Instance
- Beri nama RAM_TMP, isi cache path dengan /ram_tmp/moodle, centang auto create directory dan prescan directory
- Klik Edit Mappings di semua tempat, letakkan RAM_TMP pada primary store
(sumber: https://docs.moodle.org/28/en/Caching)
RAM_TMP Untuk Produksi (Netbeans)
- Edit project.properties pada direktori nbproject
- Isi build.dir=/ram_tmp/Netbeans/converter/build atau dengan nama lain. Jika hasil kompilasi dari proyek tidak digunakan oleh proyek lain, maka bisa ditambahkan dist.dir=/ram_tmp/Netbeans/converter/ atau dengan nama lain
One reply on “Konfigurasi Server Dengan TMPFS”
[…] Konfigurasi Server Dengan TMPFS dapat dilihat pada tautan https://pdsi.unisayogya.ac.id/konfigurasi-server-dengan-tmpfs/ […]