Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Tuning Konfigurasi PostgreSQL

Tuning konfigurasi dilakukan agar instalasi PostgreSQL kita dapat bekerja secara optimal. Sebagian besar kita mungkin menganggap bahwa yang penting adalah CPU dan RAM yang besar, kenyataannya tidak demikian. Seringkali ditemukan instalasi PostgreSQL di mesin-mesin yang memadai secara spesifikasi tapi tidak berjalan sesuai yang diharapkan. Memang hal ini tidak hanya tergantung dari database saja, tapi juga bagaimana efisiensi aplikasi (baca coding), efisiensi query serta teknik mengolah datanya. Tulisan ini membahas cara untuk men-tuning konfigurasi PostgreSQL server. Walaupun tidak ada aturan baku bagaimana men-tuning PostgreSQL, tulisan ini mudah-mudahan dapat dijadikan acuan.

1. Menggunakan pgtune website

Silakan masukan konfigurasi mesin dan data lain yang dibutuhkan pada website tersebut. Konfigurasi postgresql.conf akan dihasilkan dari masukan informasi yang diberikan.

2. Menggunakan postgresqltuner

Download postgresqltuner script dari halaman github. Salin berkas postgresqqltuner.pl ke direktori /var/lib/pgsql/data dan jalankan dengan

perl postgresqltuner.pl --host=127.0.0.1 --database=nama_database --user=nama_user --password=password_user

Silakan ikuti saran yang dihasilkan oleh script tersebut.

3.Penggunaan shared buffer

Halaman dokumentasi postgresql 12 menyebutkan:

Shared_buffers adalah jumlah memory yang digunakan sebagai shared memory buffers. Nilai defaultnya adalah 128 MB, tetapi bisa saja lebih kecil jika pengaturan kernel tidak mendukung. Ukuran minimum adalah 128 KB, biasanya diset agak lebih tinggi dari nilai minimumnya untuk mencapai unjuk kerja yang lebih baik. Pengubahan nilai membutuhkan restart database. Jika anda memiliki database server dengan 1 GB RAM atau lebih, mulailah dengan menset shared_buffers sebesar 25% dari total RAM. Kemungkinan akan ada beban kerja dimana dibutuhkan shared_buffers yang lebih besar,  tetapi karena PostgreSQL juga bergantung kepada cache sistem operasi maka alokasi yang lebih besar dari 40% untuk shared_buffers tidak meningkatkan unjuk kerja PostgreSQL. Biasanya pengalokasian yang besar untuk shared_buffers dibutuhkan ketika kita meningkatkan ukuran max_wal_size, untuk kebutuhan menjalankan beberapa proses tulis data yang besar dalam periode yang lama (sumber: https://www.postgresql.org/docs/12/runtime-config-resource.html).

Beberapa poin penting dari dokumentasi di atas:

  • gunakan shared_buffers dengan ukuran 25% dari total RAM
  • jika ukuran max_wal_size diperbesar (default=1GB) kemungkinan dibutuhkan memperbesar ukuran shared_buffers, tetapi perhatikan pula kebutuhan memori untuk sistem operasi
  • PostgreSQL juga bergantung kepada cache sistem operasi, jadi peningkatan shared_buffers tidak dianjurkan karena bisa diganti dengan pemanfaatan cache sistem operasi

Sebelum kita melangkah lebih jauh, perhatikan kalimat dari dokumentasi PostgreSQL di atas “… PostgreSQL juga bergantung kepada cache sistem operasi …” . Saatnya  kita ulang sedikit pengetahuan kita tentang konsep sistem operasi.

a. Aplikasi dan sistem operasi berjalan dalam virtual memory

Setiap proses memiliki impresi bahwa proses bekerja dengan bagian memori yang besar dan berurutan (contigous) (https://en.wikipedia.org/wiki/Virtual_memory).

b. Sistem operasi mengelola sebuah page table untuk memetakan virtual memory ke dalam memori fisik (lihat http://courses.teresco.org/cs432_f02/lectures/12-memory/12-memory.html)

c. Address translation logic diimplementasikan oleh memory management unit (MMU) (baca https://en.wikipedia.org/wiki/Memory_management_unit)

d. MMU menggunakan cache pages yang sering digunakan ulang dikenal sebagai Translation Lookaside Buffer (TLB) (baca https://en.wikipedia.org/wiki/Memory_management_unit)

e. Aplikasi akan memanfaatkan TLB, yang pertama dilakukan adalah mencari di TLB:

  • jika alamat address mapping yang dicari ditemukan di TLB maka alamat fisik memori akan dikembalikan ke aplikasi untuk diakses. Ini dinamakan TLB Hit dan costnya hanya 1 kali memory akses.
  • jika alamat address mapping yang dicari tidak ditemukan di TLB maka proses akan mencari (men-scan) page table untuk mencari address map nya sampai ditemukan. Ini dinamakan TLB miss dan costnya 2 kali memory akses.

(sumber https://en.wikipedia.org/wiki/Page_table)

Kesimpulan dari pengulangan singkat kuliah sistem operasi ini adalah PostgreSQL dapat ditingkatkan kinerjanya dengan meningkatkan efisiensi (menurunkan TLB miss atau dengan kata lain meningkatkan TLB Hit) dengan cara:

  • memanfaatkan huge pages dan TLB, pendekatan ini mudah dilakukan
  • memperbesar ukuran huge pages dan memanfaatkan TLB, ini juga bisa dilakukan
  • memperbesar ukuran TLB, ini mahal karena harus ganti CPU

4. Memanfaatkan huge pages dan Translation Lookaside Buffer (TLB)

Dokumentasi PostgreSQL menyebutkan bahwa menggunakan huge pages akan mengurangi overhead ketika menggunakan memory yang besar dan berurutan, sebagaimana dilakukan oleh PostgreSQL, khususnya ketika menggunakan shared_buffers yang berukuran besar (https://www.postgresql.org/docs/12/kernel-resources.html#LINUX-HUGE-PAGES).

Secara desain PostgreSQL sudah dibuat untuk memanfaatkan huge pages, tinggal dimanfaatkan.

Untuk aplikasi yang tidak didesain untuk memanfaatkan huge pages maka sistem operasi mendukungnya dengan apa yang dinamakan Transparent Huge Pages (THP). Dalam hal ini secara singkat dapat dijelaskan:

  • kernel bekerja di latar belakang (khugepaged) dengan mencari blok memori berurutan yang cukup dan tidak dipakai selanjutnya mengubahnya menjadi huge pages
  • secara transparan mengalokasikannya ke proses yang dianggap sesuai oleh kernel.

Silakan baca https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt untuk lebih detail

Karena PostgreSQL sudah didesain dengan memanfaatkan huge pages kita malah dianjurkan untuk menon-aktifkan THP dan mengalokasikan memori secara khusus untuk huge pages yang akan digunakan untuk PostgreSQL, tentu saja jika mesin kita memang dialokasikan khusus hanya untuk PostgreSQL.

Jalankan di teminal

cat /proc/meminfo | grep Huge

Maka hasilnya akan terlihat seperti

Terlihat ada Transparent Huge Pages (THP) yaitu AnonHugePages  sebesar 6144 kB.

Kita akan memberikan alokasi huge page yang lebih besar ke postgresql sehingga TLB miss tidak perlu sampai ke disk cukup di RAM

Untuk memanfaatkan huge pages kita harus menghitung perkiraan kebutuhan memori dari postgresql dan mengalokasikan huge page sebesar kebutuhan tersebut.

head -1 /var/lib/pgsql/data/postmaster.pid
1395
pmap 1395 | awk '/rw-s/ && /zero/ {print $2}'
1096672
grep ^Hugepagesize /proc/meminfo
Hugepagesize: 2048 kB

1096672 / 2048 = 535.48, maka dalam contoh ini dibutuhkan sekitar 536 huge pages. Secara default ukuran setiap huge pages adalah 2048 kB. Kemudian kita set huge page lebih besar, siapa tahu ada program lain yang juga membutuhkan, katakan menjadi 700, jadi total alokasi huge pages menjadi 1,4 GB.

sysctl -w vm.nr_hugepages=700

Agar persisten kita sesuaikan juga di file /etc/sysctl.conf tambahkan vm.nr_hugepages=700

Jangan lupa kita harus memberikan privilege kepada group postgres untuk dapat memanfaatkan huge page ini di userland. Cari tahu nomer entry dari group postgres dan berikan akses sebagai pengguna Translation Lookaside Buffer (TLB)

getent group postgres
26
echo 26 > /proc/sys/vm/hugetlb_shm_group

Agar persisten jangan lupa untuk memasukkan parameter vm.hugetlb_shm_group=26 di dalam file /etc/sysctl.conf

Sekarang buka terminal dan jalankan lagi

cat /proc/meminfo | grep Huge

maka terlihat ada total huge pages sebesar 700 pages dan ada alokasi (Reserved) untuk PostgreSQL sebesar 510 pages atau sekitar 1GB

Jangan lupa menambahkan huge_pages di postgresql.conf dan restart postgresql.service

huge_pages = on

Jika mesin anda hanya khusus untuk PostgreSQL anda dapat menon-aktifkan THP secara menyeluruh, caranya adalah  edit file /etc/default/grub dan tambahkan “transparent_hugepage=never” pada GRUB_CMDLINE_LINUX_DEFAULT= . Jangan lupa setelah mengedit jalankan mkinitrd dan mereboot mesin anda.

grub2-mkconfig -o /boot/grub2/grub.cfg
mkinitrd
reboot

Setelah reboot cek kembali huge page, dan akan terlihat bahwa sudah tidak ada Transparent Huge Page (THP), ukurannya = 0 kB. Semua huge page hanya digunakan untuk aplikasi yang didesain memanfaatkan huge page, postgresql salah satunya,

 

5. Memperbesar ukuran huge pages dan memanfaatkan Translation Lookaside Buffer (TLB)

Secara default ukuran huge pages adalah 2048 kB. Ukuran ini dapat diperbesar selama hardware/CPU anda mendukungnya. Periksa dengan

cat /proc/meminfo | grep Huge

cat /proc/cpuinfo

Jika terdapat pse artinya CPU anda mendukung huge pages berukuran 2048 kB dan jika terdapat pdpe1gb artinya CPU anda mendukung huge pages berukuran 1 GB.

Kemudian edit file /etc/default/grub dan tambahkan “hugepagesz=1GB default_hugepagesz=1G” pada GRUB_CMDLINE_LINUX_DEFAULT=

vim /etc/default/grub

 
Kemudian update grub dan reboot mesin anda

grub2-mkconfig -o /boot/grub2/grub.cfg
mkinitrd
reboot

Periksa ulang besarnya total huge page, pastikan besarnya sudah 1GB.

cat /proc/meminfo | grep Huge


Selanjutnya kita akan menonaktifkan Transparent Huge Page (THP). Edit lagi file /etc/default/grub dan tambahkan “transparent_hugepage=never”

Sebenarnya anda bisa menyesuaikan ukuran huge page ini sesuai dengan jumlah ukuran RAM anda. Misalnya mesin anda mempunya RAM sebesar 64 GB. Anda bisa menset huge page ini menjadi katakan 32 GB. Caranya adalah dengan menambahkan jumlah pages di /etc/default/grub. Misalnya

GRUB_CMDLINE_LINUX_DEFAULT="(...) hugepagesz=1GB default_hugepagesz=1G hugepages=32 transparent_hugepage=never"

Kita harus memberikan privilege kepada group postgres untuk dapat memanfaatkan huge page ini di userland. Cari tahu nomer entry dari group postgres dan berikan akses sebagai pengguna Translation Lookaside Buffer (TLB)

getent group postgres
26
echo 26 > /proc/sys/vm/hugetlb_shm_group

Agar persisten jangan lupa untuk memasukkan parameter vm.hugetlb_shm_group=26 di dalam file /etc/sysctl.conf

Komparasi

Saya melakukan komparasi kecepatan antara huge_page=2048kB dan huge_page=1GB. Karena mesin yang dipakai hanya memiliki RAM 4GB maka perlu sedikit  modifikasi untuk postgresql.conf. Pada kondisi huge_page=2048kB parameter shared_buffers = 1GB, sedangkan ketika huge_page=1GB parameter shared_buffers = 512MB. Selain itu saya mengaktifkan shared library, shared_preload_libraries = ‘pg_stat_statements’ dan mengaktifkan extension pg_stat_statements di database. Database yang digunakan cukup besar sekitar 29,5 juta row berukuran sekitar 4 GB dengan ukuran tabel sekitar 3,3 GB dan index sekitar 650 MB

Ini adalah contoh postgresql.conf nya

listen_addresses = '*'
port = 5432
max_connections = 30
shared_buffers = 1GB
#shared_buffers = 512MB
huge_pages = on

effective_cache_size = 3GB
maintenance_work_mem = 256MB
checkpoint_completion_target = 0.9
dynamic_shared_memory_type = posix
wal_buffers = 16MB

default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 300
work_mem = 8738kB
min_wal_size = 1GB
max_wal_size = 2GB
max_worker_processes = 4
max_parallel_workers_per_gather = 2
max_parallel_workers = 4

shared_preload_libraries = 'pg_stat_statements'
track_activity_query_size = 2048
pg_stat_statements.track = all

log_destination = 'stderr'

logging_collector = on
log_line_prefix = '%m %d %u [%p]'
log_timezone = 'Asia/Jakarta'
datestyle = 'iso, mdy'
timezone = 'Asia/Jakarta'

lc_messages = 'en_US.UTF-8'
lc_monetary = 'en_US.UTF-8'
lc_numeric = 'en_US.UTF-8'
lc_time = 'en_US.UTF-8'
default_text_search_config = 'pg_catalog.english'

Selalu jalankan postgresqltuner.pl seperti dalam poin 2 di atas setiap melakukan perubahan terhadapa konfigurasi postgresql. Script tersebut sangat membantu sekali dalam memahami cara kerja postgresql.

Lama query SELECT COUNT (*) saat huge_pages=2048kb adalah 249 detik

Lama query SELECT COUNT (*) saat huge_pages=1GB adalah 228 detik

Perbedaannya sekitar 21 detik. Silakan mencoba sendiri pada database anda.

Ada beberapa cara lain untuk membuat performance postgresql makin optimum, antara lain:

1. penggunaan message broker, RabbitMQ misalnya

2. penggunaan connection pooling, misalnya dengan pgpool

3. cluster load balancing.

Kalau ada kesempatan mudah-mudahan bisa saya tulis. Semoga bermanfaat.

Have fun

medwinz

a silhouette of a person's head and shoulders, used as a default avatar

openSUSE Asia Summit Ke-6

Akhirnya perhelatan ini selesai. Berlokasi di Fakultas Teknik, Universitas Udayana Bali, 4-6 Oktober 2019. Saya berkesempatan berkontribusi sebagai panitia remote. Iya remote. Acara di Pulau Bali, tetapi panitianya di Blok M.

Hari 0, Jumat

Saya mendarat ke Bali, Jumat dini hari dengan Air Asia. Sepertinya merupakan penerbangan terakhir AA dari JKT ke DPS. Keluar gate, kemudian pesan gojek ke Nirmala Hotel. Lanjut bersih-bersih dan tidur. Saya termasuk tim yang telat sampe Bali. Kukuh dan Rifki sudah dari hari Rabu beredar di Denpasar

Jumat pagi, start pukul 7 pagi, saya beredar ke kampus. Briefing volunteer sebentar. Kemudian memastikan acara kuliah umum pagi lancar, meski ada kendala sedikit. Menghitung jumlah konsumsi Sabtu dan Minggu, menu konsumsi Jumat siang dan makan malam, transfer-transfer. Hari Jumat punya beberapa agenda, pagi kuliah umum, siang community meeting dan makan malam bersama di Pantai Jimbaran.

Konferensi kali ini menghadirkan 53 pembicara, 22 dari luar negeri, 31 dari indonesia. 180 peserta, 11 luar negeri, 40 volunteer, 15 panitia. Cukup banyak. Dan bocorannya ada 91 proposal yang masuk namun hanya 52 proposal yang diterima.

Setelah selesai briefing dengan volunteer, Kukuh dan saya bergeser ke Pizza Hut memesan 2 pizza sedang, sekalian menjemput Ish Sookun dan Xabier Arbulu. Lanjut menuju GoWork park 23. Meeting dihadiri perwakilan beberapa negara, board member dan direktur opensuse.

Meeting dibuka dengan makan besar sejak pukul 13.30. Selanjutnya merapatkan beberapa isu yang sedang hangat dan beberapa saran untuk beberapa hal. Meeting ditutup pukul 16.30. Beberapa catatan meeting bisa diakses di milis.

Pukul 16.30 kita bergeser ke New Furama Jimbaran Bali untuk dinner di pantai sambil menikmati sunset dengan menu seafood sembari ombrolan-obrolan singkat. Saya cuma ikut hingga pukul set 8 malam. Kemudian bergeser ke kampus dengan Kukuh. Karena ada beberapa bagian yang butuh rundingan Kukuh dan saya.

Sampai di kampus, saya berbagi tugas dengan Kukuh. Kukuh mengatur rundown, gladiresik. Saya menuju persiapan daftar ulang peserta besok pagi, mengatur lokasi daftar ulang, pembagian kaos, kemudian lanjut sweeping lokasi makan dan snack dari lantai 4 hingga turun ke bawah. Breafing lagi dan croscek persiapan pameran dan tim video. Pukul 11 malam saya balik ke hotel.

Hari 1, Sabtu

Pukul 7 saya sudah di kampus, sembari menyusun pembagian kaos. Pukul set 8 breafing panitia, kemudian saya bergeser ke pendaftaran peserta, ngurus sesuai abjad. Setelah peserta aman, saya bergeser ke lantai 4. Ternyata acara agak molor kemudian memutuskan untuk menghapus beberapa slot agar jadwal tetap tepat waktu.

Jam 9 acara kita mulai. Pembukaan diawali dengan Tarian Sekar Jagad, kemudian menyanyikan lagu Indonesia Raya. Sambutan dari Civitas Akademis. Lanjut keynote speaker Simon Lee dan Dr. Axel Braun dari board openSUSE dan Keynote dari Simplify 8 Inc – Attila Pinter. Sesi keynote ditutup dengan foto bareng dan rehat kopi. Setelah itu saya ikut beberapa kelas hingga jeda makan siang.

Saya berkesempatan hadir di kelas workshop Ibu Sunny “We are openSUSE Asia Community”. Workshop ini membahas hal menarik bagi saya. Bagaimana kegiatan rutin di masih-masing negara, Bagaimana panitia Asia menyiapkan Summit, persiapan apa yang dilakukan dalam tenggat waktu tertentu.

photo6106885437382568251

IMG_0583

Jam 4 saya dapat bagian pembagian doorprize, Linksys untuk yang install opensuse. Acara hari pertama selesai, breafing volunter, beberapa masukan dari tim, hitung-hitung baju, lanjut makan malam speaker, panitia dan volunteer di Resto Mak Jo. Semua undangan yang hadir saya minta duduk random dengan volunteer, biar jadi obrolan baru. Beberapa volunter masih sungkan diawal, dengan modal bahasa improvisasi, cukuplah :D. Pukul set 10 saya bergeser pulang, dan istirahat.

Hari 2, Minggu

Hari kedua lebih santai, kepala saya jg udah mulai selow. Pagi breafing jam set 8, sekalian pembagian kaos untuk volunteer. Saya masuk ke aula dan didaulat jadi MC dadakan dengan bahasa ingris pas pas an :D.

Setelah pembukaan, saya mempersilahkan Kukuh menyampaikan laporan panitia dengan pernak pernik serunya. Lanjut 2 keynote dan foto bersama lagi.

P1030282.jpg

Lanjut rehat kopi, kelas kemudian makan siang. Setelah makan siang, saya lanjut ngisi kelas workshop saya. Kemudian selang seling menyambangi kelas-kelas lain.

Hari kedua, spesial yang punya panggung adalah Volunteer. 40 orang tangguh dengan berbagai karakter latar belakang, namun berhasil memberikan yang terbaik. Saya ucapkan tabik buat tim ini.

IMG_20191005_173255

P1030315.jpg

Hari 3, Senin, One Day Tour

Peserta yang ikut ada 28 orang dengan 2 bis sedang. Rute yang kita lalui adalah Bali Paragon Hotel Jimbaran, kemudian ke Kopi Alas Harum. Menyicip kopi luwak. Saya memilih memesan teh kayu manis. Kemudian berlanjut mengunjungi tegalan sawah.

P1030411.jpg

Dari sini, kita bergeser ke Mongkey Forest. Sampai di Mongkey forest, disambut oleh kawan Pak Edwin, sebagai pemilik dan pengelola. Kita diantar langsung untuk mengelilingi kawasan ini. Jelang pukul 1 kita sudah selesai, kemudian bergeser ke selatan menuju Hotel Paragon. Namun mampir sebentar di Mesjid Raya Sanur untuk Zuhuran. Sampe di Paragon hotel, kita pickup Max Lin dan 2 kawan lagi.

Lanjut menuju Pura Uluwatu. Sampe Uluwatu pukul 4 sore. Dan sudah ada kawan yang menunggu di loket tiket. Lanjut memakai sarung dan seledang. Saya sempet berfoto bareng kawan-kawan pengembang blankon sebagai tonggak rilis BlankOn Uluwatu.

Ada kejadian lucu di Pura Uluwatu ketika sedang menunggu tiket tari kecak. Karena kecapean kita duduk-duduk di undakan, eh malah disamperin monyet. Tapi secara reflek saya langsung berdiri. Namun tak semua beruntung, Cak Didiet telat bangun, dan kepalanya kena toyor monyet. wkwkwk. Kemudian monyetnya meloncat ke Hatochan sambil nyomot kacamatanya. Yak korban kacamata remuk kena gigitan monyet. Tipsnya sih kalo disamperin monyet, segera berdiri. Monyetnya akan kabur dengan sendirinya.

Pukul 5 kita kumpul lagi untuk pembagian tiket Tari Kecak. Pukul 5.15 kita bergeser ke lokasi kecak. Menemukan spot bagus, sembari menunggu mulai dan menikmati matahari kembali ke peraduan. Pukul 6 sore prosesi dimulai. Sembari membantu translasi. Namun sayang, saya tidak sampai selesai, pukul setengah 7 lewat, saya undur pamit, mengurus pengantaran bus untuk Simons dan Dhenandi yang harus pulang dengan penerbangan jam 10 malam. Setelah tektokan selesai, bus berangkat. Saya memutuskan menunggu di bis hingga tarian selesai dan peserta tour balik ke bus.

Lanjut balik, dengan rute padat merayap. Pukul 8 kita sampe di Jimbaran. Dan bus 1 lagi juga sudah sampai bandara. Selesai mengantar di Paragon, bus lanjut mampir ke Zurry Express dan kembali ke garasi. Setelah itu Pak Edwin, Shinji dan saya lanjut mencari pengganjal perut. Menemukan sate madura, memesan 3 porsi, sate ayam dan kambing. Tak lama Hatochan datang bersama rombongan Kukuh dan Ari. Makan lah kita serombongan. Setelah mencarikan 2 buah jus kelapa muda untuk Takeyama, kita bergeser pulang ke hotel. Saya masih harus packing-packing kotak.

Hari 4, Selasa

Pagi, bungkus-bungkus kotak 5 buah, lanjut mengantar kotak ke Kramat Djati Paket di Renon. Lanjut melipir ke Kuta, Krisna, makan siang lagi bareng Pak Edwin dan Ari, sebagai rombongan terakhir balik dari Bali.

Pesawat saya pukul 7 malam. Sekitar pukul 11 malam saya akhirnya sampai di kostan. Cukup. Waktunya istirahat.

Estu

a silhouette of a person's head and shoulders, used as a default avatar

Notes from GNOME Asia Summit 2019

It’s been my sixth GNOME Asia Summit that I attend. My first time was in Beijing, at Beihang University. Then every year I help to organize and collaborate with local organizer. I only skipped not attending when it was in Chongqing.

After last year, me and Sammy Fung become Leader/Co-Leader of Asia Committee. Asia Committee is not formal department or suborganization in GNOME Foundation. It contained few people who active at promoting GNOME in Asia. Mostly from people who become local organizer and people who always attend in several years. And personally I knew and meet them in few conference. Probably I will ask board to make this Asia Committee to become formal one.

This conference held in Gresik City, East Java. This city is supporting city for Surabaya (capital of East Java province). It’s small city with growing community right now. One of community is Gresik Dev who become local organizer. FOSS generaly and GNOME in specialy is not recognized by common people. This point of view that lead me to ask Gresik Dev to promoting FOSS and GNOME. Local organizer contain Gresik Dev Community and student from UISI and UMG (both of them the most popural university in Gresik).

This conference, I helping local organizer as steering committee (consultant). One of my reason to proactive in this event is I was born in this city near four decades ago. Probably they see me as dictator because I wanna make this conference as good as possible with limited resource.

I’m driving my car to go to Gresik City. It’s near 800 km from Bogor (city which I live). I arrived on Wednesday afternoon. In Thursday I helping to pickup few speaker from airport. One of my duty is to manage transportation for foreigner from airport to hotel, hotel to venue, vice versa. Since also me that know most of foreigner speaker. So on Friday my duty is become driver and introduce several speaker to each other.

Friday is workshop day, mostly I spent my time to chit chat with all speaker that already arrive and introduce to each other, also make sure tomorrow everything is going well. In this day, I know theres few newcomers that also become speaker. Mostly they got nervous because first time experience. So little bit lack on preparing and predicting the audience. At night we have welcome party and I have long talk with Gaurav and Andre Klapper.

Saturday is first day of conference. I see many participant that not familiar with GNOME but they willing to join this conference. Also I realized that long time bonded friends who often going to GNOME Asia Summit is me, Bin Li and Andre Klapper. English is become little bit problem because this not native language. But the master of ceremony is doing their job amazingly. The person who in charge of slide and projector need to use GNOME and Linux more often. 🙂

Goodiebag and it’s content. Photos taken by Neil

This first day, me and several friends who able to understand Pegon (https://en.wikipedia.org/wiki/Pegon_script) planning to have BoF to make this characters working in GNOME/Linux. You can join at https://gitlab.com/aksaranusantara.

Sunday, I meet best friends from Tatalogam Company who become one of sponsor, also they have keynote. I also have keynote at the end of event. Also we have nice dramatic and funny closing. Many doorprize given to participant. I see many participant enjoy the conference and have selfie/wefie at photo’s booth for uploading to their instagram. It’s also good for marketing.

Anyway, big applause  to desaign team who manage everything that need design/art. And good job for local organizer. Thank you to all speaker that spent time joining this conference and share your knowledge. Thank you to all participant for attending and help promoting GNOME. Big thanks to GNOME Foundation who sponsored my travel!

From closing this conference, it’s meaning I’m become Leader of Asia Committee because Sammy Fung stepdown for personal matters. Any one willing to help me?

See you at Next GNOME Asia Summit 2020!

GNOME Friends

 

a silhouette of a person's head and shoulders, used as a default avatar

openSUSE Asia Summit 2019 Report

The openSUSE community concluded its sixth openSUSE.Asia Summit this weekend at the Fakultas Teknik of the Universitas Udayana in Bali, Indonesia. I join as speaker, and remotely committee.

This summit start form 4-6 October 2019. At first day, Friday. We held community meeting at Go Work Park 23 with attend around 18 delegation from country around Asia. The meeting notes has been sent to mailing list by Douglas.

Day 1 Summit, Saturday

The Summit started off with a ceremonial dance, Tari Sekar Jagad and opening remarks from the university’s staff. After that, keynote speaker, Simon Lee and Dr. Axel Braun from the openSUSE Board provided attendees with a status update about the openSUSE Project and then Keynote from Simplify 8 Inc – Attila Pinter.

Before coffee break, we take group photo with all participant and speakers. After that we continue with parallel class. 6 speakers at 6 rooms. After lunch, I join Sunny’s Workshop “We are openSUSE Asia Community”, talk about all things at Asia, How committee prepare for summit and many things. Day 1 closing by choosing who win door prize from sponsor.

And for day 1 we have dinner with all speakers, committee and volunteer at Mak Jo Resto, Jimbaran.

Day 2 Summit, Sunday

Opening by Kukuh Syafaat. He talk about number of statistic about this year conference. And after that play video Highlight openSUSE Asia Summit 2019 – Day 1. Announce the winner logo competitions. Sunny bring mysterious box to Winner and last, handover openSUSE Asia Album from last year committee, Sakana from Taiwan Team to Kukuh, this year team. After that, Keynote from openSUSE, introduced Gerald Pfeifer as the new chairperson for openSUSE. GNOME‘s Executive Director Neil McGovern gave a keynote after that. Before coffee break, we take photo again.

Handover Album

After lunch, I start my workshop “Reliable Deployments with Kubernetes and Istio” at rooms 203B. You can find my material at http://github.com/tuanpembual/bali. Then take photo.

After 2nd coffee break, I join aula swastika, prepare winner for door prize again. At 4 pm, we start Lightning Talk Session with Gong sound. :D. First speaker is Ariez Vachha, then Herpiko, Ish Sookun and Sobha Tyagi. After LT Session, Kukuh take over podium. We play Highlight openSUSE Asia Summit 2019 – Day 2.

After that we call all volunteer to stand front of podium. Thank you very much to volunteer, for help committee prepare and doing summit. See you next year!!

Prepare Summit

Thank you to sponsors who helped to maked the summit a success. SUSE, Simplify8, Radiant Utama Interinsco TBK, MyCoop, PT Boer Technology, Excellent, Bogorwebhost, Linksys, Fans.co.id, Coly Li.

And thanks to openSUSE who sponsor my travel.

Button-filled-colour

Estu~

a silhouette of a person's head and shoulders, used as a default avatar

Operasional dan Kegiatan Yayasan Ultima Insani Madania

Setelah seluruh berkas dokumen legal dan administrasi yayasan selesai diproses, sejak bulan lalu yayasan Ultima Insani Madania mulai beroperasional.

Acara pertama adalah pemberian hadiah untuk siswa/siswi/santri berprestasi : https://www.insanimadania.id/acara-di-yayasan-ultima-insan…/

Secara operasional kegiatan, setiap bulan yayasan Ultima Insani Madania mendapat donasi dana CSR dari PT. Excellent Infotama Kreasindosebesar Rp. 1.500.000,-. ditambah dengan pemasukan lain berasal dari donasi pribadi/perorangan.

Untuk pengeluaran rutin bulanan, saat ini beberapa item pengeluaran adalah sebagai berikut :

1. Biaya untuk operasional pengajian bulanan. Ditetapkan sebesar Rp. 500.000,- untuk keperluan pembayaran listrik, penambahan/penggantian kelengkapan buku dan lain-lain

2. Pemberian santunan rutin bulanan berupa beras sebanyak 5 liter per orang sebanyak 16 orang. Total sebanyak 80 liter beras. Santunan diutamakan pada lansia yang tidak bekerja/tidak memiliki penghasilan tetap. Pembelian dilakukan sebanyak 2 karung beras @60 liter, jadi total beras sebanyak 120 liter.

Dari 40 liter beras (120 liter – 80 liter), dibagikan kepada pengajar pengajian sebanyak masing-masing 10 liter/orang. Sisa 10 liter dijadikan sebagai cadangan darurat jika ada yang membutuhkan

1 karung beras berisi 60 liter harganya sekitar 450 s/d 500 ribu rupiah, tergantung dari kualitas berasnya.

3. Ada donasi langganan majalah Bobo dan National Geographic untuk keperluan tambahan koleksi di Taman Bacaan Excellent. Mulai berjalan mulai bulan Agustus 2019 ini

Saat didirikan, modal dasar yayasan sebesar Rp. 15 juta rupiah. Dari donasi tetap CSR Excellent 1.5 juta rupiah per bulan, ada pengeluaran tetap dengan nilai sejumlah itu juga. Jadi tambahan asset yayasan berasal dari donasi personal lainnya.

Saya berpikir-pikir, kira-kira upaya apa yang elegan, normal dan masuk akal yang bisa dilakukan untuk menambah asset modal yayasan sehingga bisa meningkatkan jumlah santunan sekaligus membuat yayasan lebih mandiri.

Saya paham, namanya juga yayasan baru berdiri, yang penting sabar dan stabil agar jalannya tidak oleng. Meski demikian, jika ada tambahan pemasukan yang baik dan berkah, mengapa tidak kan ya 🙂

Jadi saya mengambil langkah pertama, yaitu menginformasikan ke group keluarga besar, jika mau beramal, berapapun nilainya, bisa ditujukan ke rekening yayasan. Alhamdulillah ada tambahan yang masuk.

Saya juga mengalihkan hasil penjualan buku untuk dijadikan sebagai donasi yayasan (tanpa mengubah/mengurangi hak royalti penulis)

Kemudian ada piutang personal yang pembayarannya dilakukan secara bulanan, atas kesepakatan, prosesnya bisa dialihkan juga untuk penambah modal dan asset yayasan.

Yang berikutnya adalah hasil kolam ikan dan kebun, rencananya sebagian pendapatannya bisa dijadikan sebagai tambahan donasi meski nilainya tidak terlalu besar.

Harapan saya, diakhir tahun ini asset yayasan bisa mencapai Rp. 50 juta. Ini adalah target terdekat agar yayasan bisa mulai belajar menata diri dan memulai awal menghidupi dirinya sendiri.

Website yayasan : https://www.insanimadania.id

Catatan : Bagi rekan-rekan yang tertarik berdonasi baik berupa uang, buku bacaan, majalah, buku iqro, buku yasin, al-quran dan lain-lain silakan menggunakan halaman kontak pada website yayasan.

a silhouette of a person's head and shoulders, used as a default avatar

Bersama Team Excellent pada Acara Zimbra

Beberapa waktu yang lalu ada acara Zimbra partner di Jakarta. Namanya Zimbra Activ8, mengenai partner briefing terkait pengembangan produk Zimbra dimasa depan. Acaranya diadakan di The Westin Jakarta beberapa waktu yang lalu.

Acara ini juga diselenggarakan bersamaan dengan acara Customer Appreciation Lunch, undangan makan siang untuk beberapa customer Zimbra sebagai bentuk apresiasi Zimbra terhadap customer yang sudah menggunakan Zimbra Network Edition untuk keperluan messaging mereka.

Team Excellent hadir mendampingi karena ada beberapa customer Excellent yang diundang. Ini juga sebagai bentuk apresiasi Excellent untuk customer yang memilih Excellent sebagai partner professional services terkait implementasi dan maintenance infrastruktur Zimbra di kantor klien.

Thanks untuk team Zimbra untuk acara yang menarik dan berkesan ini dan thanks untuk semua customer maupun rekanan yang berkenan hadir. Appreciate!

a silhouette of a person's head and shoulders, used as a default avatar

Dongeng di Kampus Seberang

“Assalamu’alaikum, dengan Rifki PTIK dari UNS?”, begitulah chat yang datang kepada saya ketika bulan ramadan, balasan dari saya cuma singkat “Ya, ini dengan siapa?”, dia pun menjelaskan nama dan maksud dia menghubungi saya, sempat terkejut ketika dia menyebutkan kalau dia mendapatkan rekomendasi dari temannya untuk mendatangkan say a di acara yang akan digelar di kampusnya. Saya agak ragu untuk meng-iyakan tawaran tersebut. Karena acara akan diadakan dua atau tiga minggu setelah lebaran. Saya ragu karena lebaran saya tidak cukup satu minggu selesai begitu saja, saudara banyak dan masih banyak hal lain yang membuat saya terhenti di kota kelahiran saya, Jakarta. Dengan berbagai keputusan, saya pun menjawab tawaran tersebut dengan “Oke, saya bersedia”. Saya diundang untuk menjadi narasumber terkait dengan diskusi bareng seputar Linux, dan Open Source, dengan keterbatasan ilmu yang saya miliki di bidang tersebut. Dan karena saya masih muda juga, kapan lagi saya dapat kesempatan seperti itu.

Mendongeng

H-1 acara, saya balik ke Solo. sampai di kost, kostan saya sudah bersih berkat Ibu kost yang baik hati (Terima Kasih Bu!). Tidur sebentar dan bersiap pergi. Acara diadakan di UMS (Universitas Muhammadiyyah Surakarta), tepat di belakang gedung Siti Walidah. Ternyata saya sudah ditunggu oleh peserta yang hadir. Acara pun berlangsung dengan khidmat, karena merupakan kampus Islam, jadi diawali dengan salam dan pembacaan Alquran. Saya pun maju dan mulai berdongeng, hal yang menjadikan saya kaget adalah ternyata banyak sekali orang – orang yang pakai Open Source di Solo Raya.

Pembacaan Alquran

openSUSE.Asia Summit

 

 

 

 

 

 

 

Panitia memberikan saya waktu berdongeng 30 menit. ya waktu yang sangat lama untuk membicarakan OpenSource. dengan ajakan “Masa anak UMS pakai software bajakan, emang Islam ngajarin kita buat dosa?” Saya berani berkata seperti itu ya karena mereka semua mayoritas Islam, setelah perkenalan tentang Open Source lebih jauh, saya mengenalkan mereka dengan distro favorit saya,openSUSE. Distro yang menjadi perantara saya menjadi orang yang “halal” seperti sekarang. Ajakan yang dimulai dengan “Open Source bisa membahagiakan tapi tidak membuat sengsara” Hal yang membuat pemakai Open Source tertarik adalah tantangan, jika pandai maka akan beruntung, jika bosan maka ya gak betah, seperti perasaan manusia ke manusia lain pada umumnya. Tak lupa saya mengajak mereka untuk mengikuti acara yang akan diselenggarakan oleh openSUSE, yakni openSUSE.Asia Summit 2019 pada tanggal 5-6 Oktober di Bali, Indonesia. Suatu hal yang membanggakan bagi Indonesia karena diberikan kesempatan kedua kalinya untuk mengadakan acara Open Source yang bergengsi di Indonesia.

Para pembaca jangan lupa datang ya!.

Acara yang dadakan tapi tetap menarik. Kalian keren FOSTI UMS!.

Me in Action

Next Summit

a silhouette of a person's head and shoulders, used as a default avatar

Ebook dan Buku Cetak Active Directory Berbasis Linux Samba 4

Setelah disiapkan beberapa lama, akhirnya buku dan ebook Active Directory Berbasis Linux Samba 4 secara resmi dirilis dan sudah bisa didapatkan via Google Play maupun melalui Tokopedia dan Bukalapak.

Active Directory Berbasis Linux Samba 4 ini merupakan versi update dari rilis sebelumnya, dengan perbaikan-perbaikan materi dan penyesuaiannya dengan perkembangan terkini.

Apa itu Linux Samba 4?

Samba provides file and print services for various Microsoft Windows clients and can integrate with a Microsoft Windows Server domain, either as a Domain Controller (DC) or as a domain member. As of version 4, it supports Active Directory and Microsoft Windows NT domains.

Jadi Samba 4 adalah software yang berjalan pada sistem Linux yang menyediakan layanan Active Directory, Domain Controller, File dan Print Sharing dan dapat diintegrasikan dengan sistem berbasis Windows, baik dengan Windows Server maupun Windows Client. Meski memiliki basis Linux, saat klien Windows berkomunikasi dengan Samba 4, si Windows tidak merasa jika ia berhubungan dengan Linux, karena Samba 4 mimicry sifat-sifat Windows server, sehingga klien Windows maupun Windows Server akan merasa berhubungan dengan sesama sistem operasi Windows.

Ebook dan buku Active Directory Berbasis Samba 4 ini cocok bagi perusahaan yang ingin tetap memberikan layanan Active Directory dan PDC/BDC berbasis Windows namun ingin menggunakan kapabilitas Linux, selain tentunya bisa menghilangkan kebutuhan lisensi Windows Server.

Disusun dalam bentuk tutorial tahap demi tahap, buku dan ebook ini merupakan buku panduan yang digunakan untuk training dengan judul yang sama pada layanan training Excellent.

Link

Catatan

Status untuk buku cetak tertulis “Preorder” namun karena sudah diproses cetak pekan lalu, bukunya sudah bisa dikirim mulai pekan depan.

a silhouette of a person's head and shoulders, used as a default avatar

Konferensi LibreOffice Asia yang Pertama Kali

Merujuk pada pemberitaan di https://blog.documentfoundation.org/blog/2019/02/19/first-libreoffice-asia-conference/ tentang acara Konferensi LibreOffice Asia yang pertama kali, berikut terjemahan dari media rilis tersebut:

 

Konferensi LibreOffice Asia yang pertama kali akan diadakan pada 25-26 Mei 2019 di Nihonbashi, Tokyo, Jepang

Ini adalah konferensi LibreOffice yang pertama menjangkau Asia, area yang memiliki pertumbuhan perangkat lunak berbasis FOSS yang sangat pesat.

Berlin, 18 Februari 2019 – Setelah kesuksesan besar Konferensi LibreOffice Indonesia pada tahun 2018, para anggota dari komunitas Asia memutuskan untuk mengangkat isu ini di 2019 dengan Konferensi LibreOffice Asia yang pertama kali di Nihonbashi – pusat kota Tokyo, Jepang – pada 25-26 Mei 2019.

Sebagai salah satu penyelenggara, Naruhiko Ogasawara, anggota dari komunitas LibreOffice Jepang dan The Document Foundation, tidak bisa menyembunyikan kegembiraannya. “Saat kami mengadakan LibreOffice Mini Conference Japan 2013 sebagai acara lokal, kami hanya sedikit mengetahui tentang komunitas-komunitas di belahan lain Asia,” ucap Naruhiko. “Kemudian tahun ini kami menghadiri LibreOffice Conference dan acara di Asia lainnya seperti openSUSE Asia, COSUP, dan lain sebagainya. Kami menyadari bahwa banyak rekan-rekan kami yang aktif dan bahwa komunitas kami harus belajar banyak dari mereka. Kami bangga dapat mengadakan Konferensi Asia yang pertama dengan rekan-rekan kami untuk lebih memperkuat kemitraan tersebut.

“Ini lompatan takdir yang nyata,” ucap Franklin Weng, salah seorang anggota dari Asia di Dewan Direksi The Document Foundation. “Asia adalah daerah yang perkembangannya sangat pesat dalam mengadopsi ODF dan LibreOffice, tetapi ekosistem kami untuk LibreOffice dan FOSS belum cukup baik. Dalam konferensi ini kami tidak hanya mencoba membuat ekosistem FOSS di Asia lebih baik, tetapi juga untuk mendorong anggota komunitas Asia menunjukkan potensi mereka.”

Beberapa anggota inti dari The Document Foundation akan menghadiri konferensi ini, termasuk Italo Vignoli, pimpinan tim pemasaran dan hubungan masyarakat dan wakil ketua Komite Sertifikasi LibreOffice, dan Lothar Becker, juga wakil ketua Komite Sertifikasi. Selain itu, akan ada anggota komunitas dari Indonesia, Korea Selatan, Taiwan, Jepang dan mungkin China yang hadir.

Poin dari konferensi ini meliputi:

  • Workshop bisnis – yang akan dipandu oleh Lothar Becker dan Italo Vignoli, ketua dan wakil ketua Komite Sertifikasi LibreOffice dari The Document Foundation. Lothar dan Italo akan membahas tentang layanan bisnis – apa yang mendasar dari layanan bisnis LibreOffice, status bisnis LibreOffice saat ini di Eropa, Asia dan wilayah geografis lainnya, dan bagaimana kita dapat saling mendukung, dan lain sebagainya.

  • CJK Hackfest – yang akan dipimpin oleh Mark Hung, seorang Pengembang LibreOffice Tersertifikasi di Taiwan, untuk membahas dan meretas masalah CJK di LibreOffice.

  • Wawancara Sertifikasi – Wawancara Sertifikasi LibreOffice kedua di Asia akan diadakan selama LibreOffice Asia Conference, yang dipandu oleh Italo Vignoli dan Lothar Becker, ketua dan wakil ketua Komite Sertifikasi LibreOffice saat ini. Sejauh ini total 4 atau 5 kandidat akan diwawancarai untuk Profesional Migrasi Bersertifikat LibreOffice dan Pelatih Bersertifikat LibreOffice.

  • Sertifikasi Lokal Asia untuk LibreOffice – yang akan dipandu oleh Franklin Weng dan Eric Sun, dua anggota TDF dari Taiwan, yang akan memperkenalkan ide-ide agar memiliki keterampilan LibreOffice dan sertifikasi pelatih di Asia.

Call for proposal akan segera diluncurkan pada bulan Februari. Selain topik di atas, topik terkait LibreOffice dan ODF lainnya juga diterima.

a silhouette of a person's head and shoulders, used as a default avatar

Aktivasi VPN (PPTP, OpenVPN & L2TP) pada Synology

Excellent memiliki beberapa markas. Ada markas Excellent DJ yang merupakan rumah saya sekaligus menjadi awal lokasi “kantor” Excellent pertama kali, ada markas Excellent Premier Serenity yang menjadi kantor operasional saat ini, ada juga markas Taman Bacaan Excellent berupa kebun buah dan kolam ikan (Excellent Farm).

Markas Excellent DJ dan markas Excellent Premier Serenity merupakan lokasi data center kecil-kecilan, ditambah dengan data center kecil juga di Gedung Tifa Jakarta. Untuk melakukan pengelolaan sistem di lokasi berbeda ini, saya kerap menggunakan aplikasi SSH, Remote Desktop (RDP), Team Viewer atau AnyDesk.

Karena koneksinya timbul tenggelam, pengalaman remote berbasis desktop ini kurang menyenangkan. Saya lebih memilih untuk mengaktfikan akses VPN.

Kebetulan di masing-masing markas Excellent ada Synology yang digunakan sebagai shared storage, media penyimpanan file sekaligus backup data. Synology memiliki feature yang cukup komplit dan konfigurasinya relatif mudah.

AKTIVASI VPN SERVER

Untuk mengaktifkan VPN pada Synology, berikut adalah prosesnya :

  • Login ke Synology
  • Masuk ke menu Package Center dan search VPN
  • Aplikasi VPN ada pada group Utilities. Klik Install untuk melakukan instalasi package-nya
  • Setelah package terinstall, pilih menu Open
  • Aktifkan salah satu atau beberapa pilihan VPN server. Ada VPN server berbasis PPTP, OpenVPN dan L2TP. Sebagai contoh, saya menggunakan OpenVPN. Lakukan setting terkait OpenVPN termasuk maksimum koneksi, authentikasi, port dan lain-lain
Dashboard tampilan konfigurasi VPN Server
  • Setelah selesai, klik Apply
  • Pastikan port 1194 UDP disisi firewall sudah diopen
  • Scroll ke bagian bawah konfigurasi dan pilih menu Export Configuration. File konfigurasi dalam format .zip ini berisi file konfigurasi OpenVPN, readme dan file SSL Certificate dan bisa dipergunakan sebagai media import konfigurasi koneksi menggunakan VPN Client

KONEKSI KE VPN SERVER

  • Download aplikasi OpenVPN Client sesuai dengan sistem operasi yang dipergunakan. Jika menggunakan Windows bisa menggunakan aplikasi VPN dari website OpenVPN sedangkan jika menggunakan Linux bisa melakukan instalasi paket OpenVPN melalui repo Linux masing-masing. Karena saya menggunakan Mac, saya memilih aplikasi TunnelBlick.
  • Pada aplikasi yang digunakan, pilih menu import file .opvn yang ada dalam file .zip. Jangan lupa sesuaikan alamat server pada file konfigurasi tersebut. Jika menggunakan Linux, bisa menggunakan perintah : openvpn –config client.ovpn
  • Jika sudah terkoneksi, test akses IP lokal disisi VPN server, seharusnya sudah bisa diakses
Tampilan koneksi VPN menggunakan Tunnelblick

Contoh diatas saya menggunakan OpenVPN namun aktivasi PPTP dan L2TP secara prosedur hampir sama. Sedikit perbedaan hanya disisi klien saja.

Dengan menggunakan VPN, saya bisa bekerja dengan mudah dan memiliki banyak pilihan akses terhadap server yang ada disisi remote. Karena server disisi data center Tifa memiliki spesifikasi yang cukup tinggi, saya bisa menggunakannya sebagai server simulasi untuk keperluan penulisan update buku VMware vSphere 6.7.

Disisi lain, saya juga tidak perlu selalu melakukan remote GUI, baik ke data center Tifa maupun ke markas Excellent lainnya karena bisa melakukannya dengan mekanisme SSH atau akses via Web tanpa perlu melakukan setting port forwarding berbagai macam port.

CATATAN

  • Dalam beberapa kasus, segmen IP lokal disisi VPN server tetap tidak bisa diakses/ping meski sudah memilih menu “Allow clients to access servers LAN”. Jika ini yang terjadi, jangan berputus asa atau mutung 🙂 melainkan cari solusinya, hehehe… Solusinya, edit file konfigurasi .opvn dan hilangkan tanda pagar (#) dari baris berikut : redirect-gateway def1
# If redirect-gateway is enabled, the client will redirect it's
# default network gateway through the VPN.
# It means the VPN connection will firstly connect to the VPN Server
# and then to the internet.
# (Please refer to the manual of OpenVPN for more information.)
redirect-gateway def1
  • Secara default, OpenVPN akan menggunakan authentikasi yang dipergunakan untuk login ke Synology. Kita bisa mengatur list user yang diberikan akses melalui menu Privilege