Cara mengatasi timeout website (2)

cara mengatasi time out pada website

Cara mengatasi timeout website telah kita bahas bagian pertama disini. Untuk bagian kedua ini, kita akan membahas dari sisi struktur kode, serta arsitektur dan server.

Struktur Kode

Struktur kode sedikit banyak berpengaruh terhadap kecepatan memproses logika bisnis yang kita terapkan ke website kita. Kabar baiknya adalah, ada begitu banyak framework (kerangka) yang memiliki struktur yang baik dan tinggal kita gunakan. Semisal Codeigniter (CI) atau Laravel pada bahasa pemrograman PHP.

Framework-framework populer telah mengatur strukturnya dengan baik seperti routing, handler, middleware, business logic, external package dan lain sebagainya. Apakah struktur tersebut sudah pasti yang terbaik? Tentu saja tidak. Namun secara umum, struktur tersebut mampu mengcover sebagian besar kasus-kasus yang sering terjadi dan membuat website kita berada di performa yang baik.

Selain performa, struktur yang baik juga sangat membantu ketika ada pengembangan terhadap website kita dan kita harus menambahkan kode. Dalam banyak kasus, programmer terkadang kebingungan ketika harus melanjutkan kode yang telah lama walaupun kode tersebut adalah kode yang dibuatnya sendiri 😀

Namun perlu diingat bahwa framework tidak disarankan untuk programmer pemula, mengingat ada banyak “magic function” yang jika kita tidak mengetahui basic/fungsi dasarnya bisa membuat kita kebingungan ketika menemui kasus-kasus khusus.

Arsitektur dan server

Selanjutnya kita bahas dari sisi arsitektur dan server. Pembahasan ini cukup panjang juga sebenarnya tapi kita coba ambil poin-poin pentingnya. Nanti mimin coba bahas kalau waktunya pas 😀

Umumnya, website dibangun dengan arsitektur monolithic. Artinya frontend (tampilan), backend (engine/business logic), database berada di satu tempat yang sama. Tempat yang dimaksudkan ini tentu saja server.

Loh emang ada yang dipisah-pisah? Yup, tentu saja ada. Nama arsitekturnya adalah microservice. Arsitektur ini kebanyakan digunakan oleh website-website dengan user yang sangat banyak seperti tokopedia, traveloka dan semacamnya.

Jadi sisi frontend dari website tersebut berada di satu server sendiri, backend dan databasenya juga berada di satu server sendiri. Di tingkat lebih expert, servernya bukan cuman satu tapi ada beberapa di tiap bagian tergantung dari kebutuhannya. Misalkan di frontend ada 3 server, backend ada 5 server dan database ada 2 server.

Apakah cara mengatasi timeout website bisa dengan hanya 1 server, tapi spesifikasinya ditingkatkan? Misalkan ram 8Gb menjadi 16Gb dan seterusnya? Jawabannya bisa ya bisa tidak. Jika spesifikasi telah ditingkatkan namun masih tetap timeout, sepertinya kita harus melakukan optimasi di kode, database dan arsitekturnya.

Sekian artikel kali ini, semoga bisa memberi gambaran mengenai cara mengatasi timeout website.

You May Also Like

Leave a Reply

Your email address will not be published. Required fields are marked *