Sesuai judulnya, post kali ini agak sedikit mengarah melakukan refleksi. Ya, refleksi dan melihat kembali. Kenapa? karena kebetulan di lab tempat saya bekerja, ada komputer mangkrak milik program studi(prodi) yang dulu digunakan sebagai server utama untuk meng-host aplikasi jurusan yang berbasis web (PHP). Selain itu saya ter inspirasi dengan posting blogger lain nya yaitu Tahun 2021 Core 2 Duo bisa dipakai apa? Server ini memiliki spec yang cukup kecil, 1TB HDD (RAID 0, ya haha..), 4GB DDR3 RAM, dan Core 2 Duo E6300 CPU. Ya tidak salah lihat E6300. CPU seri budget paling budget dari Intel di jaman nya (2006). Komputer ini di pensiunkan pada tahun 2019, karena sekarang semua server di pusatkan di Server Farm di gedung lain di tempat saya bekerja. Spesifikasi nya bisa dilihat sebagai berikut :
root@git:~# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz stepping : 6 microcode : 0xd0 cpu MHz : 1866.506 cache size : 2048 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm pti tpr_shadow dtherm bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 3733.01 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 CPU 6300 @ 1.86GHz stepping : 6 microcode : 0xd0 cpu MHz : 1866.506 cache size : 2048 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm pti tpr_shadow dtherm bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 3733.01 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
Hanya kebijakan ini menyebabkan jurusan ketika mau meningkatkan kapasitas disk/space dan juga Core CPU, harus berurusan dengan Biro Data Center dan Network kampus. Ya sebenarnya sih saya termasuk di dalam Biro ini, karena saya di bidang networknya. Hanya saja terkadang tidak semudah teriak minta X langsung diberi X, haha… Berangkat dari kebutuhan adanya server khusus untuk repository kode program mahasiswa, akhirnya saya berpikir dan ingat, kan server yang ‘pensiun’ milik prodi masih ada, hidup tidak terpakai. Akhirnya saya mengajukan kepada Kepala Prodi jurusan untuk saya tarik ke lab, dannnnn boleh.
Singkat cerita, muncullah pertanyaan, komputer ini bisa apa ? Kan cuman Core 2 Duo, serta saya berpikir tidak mungkin bisa menjalankan program repository kode berbasis git di server ini, jika berbasiskan Gitlab community edition. RAM minimum nya sangat minimum (untuk jalankan gitlab, 4gb belum DB service nya), sehingga saya cari RAM bekas tambahan 2GB ke server tersebut, dan jadilah server tersebut memiliki 6GB RAM, dan 8GB swap (uhuk, di HDD, RAID 0 lagi). Selain itu saya mencari alternatif untuk Gitlab CE, dan saya menemukan Gogs, git server berbasis golang.
Saya download binary nya, dan saya run, peggunaan RAM oleh Gogs sangat kecil, hanya 64mb! Plus ditambah DB server berbasis MySQL, hanya 300mb terpakai. sisa RAM 5gb diam tanpa digunakan. Ketika peak/banyak user mengakses server Core 2 Duo E6300 ini, CPU nya tidak spike banyak, bisa dibilang kecil sekali 3-4% saja. Jadi bisa dibilang Core 2 Duo E6300 budget CPU, masih bisa digunakan sebagai git server.
Apakah saya berhenti disitu? Tentu tidak! Saya membawa nya ke level selanjutnya. Server ini saya upgrade dari Ubuntu 18.04.6 LTS ke 20.04.4 LTS, dan tidak ada kendala sama sekali dengan server nya, mulus. Lalu saya upgrade MySQL 5.7.37 ke MySQL 8.0.2, mulus, dan proses read data lebih cepat (ketika akses isu dan juga repo git). Berikut contoh penampakan git server di akses lewat web :
Dengan Ubuntu 20.04 LTS, saya bisa menjalankan container engine berbasiskan podman dari Red Hat. Target saya bisa menjalankan MS SQL Server 2019 dan .NET Core App. Ketika saya running dengan container, SQL Server 2019 bisa run, tetapi memakan RAM hingga 1.3 GB, ya cukup lumayan dibandingkan di Windows, tetapi itu sudah lebih hemat daripada versi 2017 nya yang berbasiskan di Linux, memakan 2GB ketika IDLE. Saya mencoba menjalankan query query dan restore DB. Berjalan dengan baik! Bukti service MySQL, Gogs, dan MS SQL Berjalan bisa dilihat sebagai berikut :
root@git:~# systemctl status gitd ● gitd.service - Gogs Git SIB Service Loaded: loaded (/etc/systemd/system/gitd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-03-17 20:20:42 WIB; 2 days ago Main PID: 731 (gogs) Tasks: 10 (limit: 7019) Memory: 99.5M CGroup: /system.slice/gitd.service └─731 /home/git/gogs/gogs web Mar 17 20:20:42 x.edu systemd[1]: Started Gogs Git SIB Service. Mar 17 20:20:42 x.edu gogs[731]: 2022/03/17 20:20:42 [TRACE] Log mode: File (Info) root@git:~# systemctl status mysql ● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-03-17 20:20:42 WIB; 2 days ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 618 (mysqld) Status: "Server is operational" Tasks: 42 (limit: 7019) Memory: 491.8M CGroup: /system.slice/mysql.service └─618 /usr/sbin/mysqld Mar 17 20:20:28 x.edu systemd[1]: Starting MySQL Community Server... Mar 17 20:20:42 x.edu systemd[1]: Started MySQL Community Server. root@git:~# mysql --version mysql Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL) root@git:~# exit ben@git:~$ podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4b7312a7e5de mcr.microsoft.com/mssql/server:2019-latest /opt/mssql/bin/sq... 25 hours ago Up 7 minutes ago sqlserver ben@git:~$ sqlcmd -S 127.0.0.1,1433 -U sa Password: 1> select @@version; 2> go ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU15) (KB5008996) - 15.0.4198.2 (X64) Jan 12 2022 22:30:08 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 20.04.3 LTS) (1 rows affected) root@git:/home/ben# ps_mem Private + Shared = RAM used Program 96.0 KiB + 158.0 KiB = 254.0 KiB none 236.0 KiB + 408.0 KiB = 644.0 KiB atd 344.0 KiB + 476.0 KiB = 820.0 KiB agetty 380.0 KiB + 452.0 KiB = 832.0 KiB htcacheclean 344.0 KiB + 628.0 KiB = 972.0 KiB cron 376.0 KiB + 844.0 KiB = 1.2 MiB irqbalance 444.0 KiB + 1.0 MiB = 1.5 MiB conmon 560.0 KiB + 1.4 MiB = 1.9 MiB su 916.0 KiB + 2.1 MiB = 3.0 MiB systemd-timesyncd 1.4 MiB + 2.0 MiB = 3.3 MiB sudo 1.2 MiB + 2.5 MiB = 3.6 MiB systemd-logind 1.4 MiB + 3.0 MiB = 4.4 MiB dbus-daemon (2) 1.3 MiB + 3.2 MiB = 4.5 MiB accounts-daemon 2.4 MiB + 2.7 MiB = 5.1 MiB systemd-udevd 1.5 MiB + 3.7 MiB = 5.3 MiB polkitd 2.6 MiB + 2.9 MiB = 5.5 MiB rsyslogd 2.5 MiB + 3.1 MiB = 5.6 MiB wpa_supplicant 2.7 MiB + 3.3 MiB = 6.0 MiB systemd-networkd 3.5 MiB + 3.6 MiB = 7.0 MiB fuse-overlayfs 2.3 MiB + 5.1 MiB = 7.4 MiB bash (2) 2.7 MiB + 9.9 MiB = 12.7 MiB sshd (3) 6.4 MiB + 7.7 MiB = 14.2 MiB systemd-resolved 1.8 MiB + 15.5 MiB = 17.4 MiB (sd-pam) 7.5 MiB + 11.1 MiB = 18.6 MiB networkd-dispat 9.3 MiB + 13.8 MiB = 23.1 MiB unattended-upgr 3.4 MiB + 21.9 MiB = 25.3 MiB systemd (2) 16.6 MiB + 16.7 MiB = 33.3 MiB podman pause 20.8 MiB + 25.9 MiB = 46.7 MiB firewalld 25.7 MiB + 98.2 MiB = 124.0 MiB systemd-journald 69.2 MiB + 69.3 MiB = 138.6 MiB gogs 434.1 MiB + 436.3 MiB = 870.4 MiB mysqld 729.8 MiB + 755.8 MiB = 1.5 GiB sqlservr (2) --------------------------------- 2.8 GiB ================================= root@git:/home/ben# free -m total used free shared buff/cache available Mem: 5907 1319 160 1 4426 4295 Swap: 7812 1 7811
Aplikasi .NET Core 6.0? Ngacir di E6300! Cukup luar biasa sih untuk komputer setua ini. Saya cukup salut, dan mungkin 2-3 tahun kedepan masih bisa digunakan untuk tugas tugas lain nya.
Akhir kata, untuk menjawab judul post nya, maka bisa disimpulkan, Core 2 Duo di 2022, bisa digunakan untuk : Database server, Web Server, dan Containerize platform development, pastinya dengan OS Linux Up to date! Keren!
Leave a Reply. I will come back and maybe we can have some conversation 🙂