Mekasnisme session default di php adalah locking/blocking. Misal ada 5 request dari orang yang sama (id session yang sama) bersaman yang menggunakan session, kelima request tersebut tidak bisa berjalan bersamaan, melainkan hanya satu request yang dapat berjalan, yang lainnya menunggu sampai request yang berjalan tersebut selesai (ngantri).
Hal ini tujuannya untuk mencegah race condition. Misalkan ada session variable bernama jk (jumlah keranjang) yang menghitung jumlah barang di keranajng. User menambah barang a dan b, awalnya jumlah keranjang ada 10, setelah ditambah 2 barang tersebut menajdi 12.
Sebenenrya hal ini tidak ada masalah karena delay waktu karena blocking/locking tidak signifikan. Namun jika dalam request tersebut ada query yang memakan waktu lama, efeknya akan berkali kali lipat lama nya.
Misalkan waktu setiap request adalah 0.5 detik. Dalam 1 halaman ada 5
ajax akan memakan waktu 2.5 detik. dan jika ada query lemot yang
menyebabkan request selesai 4 detik, waktu halaman load akan menjadi 20
detik. Belum lagi webserver akan naik utilitasinya karena menerima
banyak koneksi yang nganggur.
https://ma.ttias.be/php-session-locking-prevent-sessions-blocking-in-requests/
Bisa dilihat diatas ada berbagai cara
Namun menurut saya session locking sudah tidak relevan saat ini. Misalkan best practice mendesign API yang stateless, sehingga mudah di cache. Kemudian client side rendering yang datanya diambil dari ajax. Dan untuk fitur yang berpotensi menimbulkan race condition, bisa di lock menggunakan transaksi database, sehingga fitur lain nya tidak berpengaruh dengan locking
Sometimes json output from llm like this : {“key”: “value”}“` that langchain JsonOutputParser regex cant…
#include <stdio.h> int main() { FILE *f_ptr; char f_content[256]; char output[512]; f_ptr = fopen("/tmp/1337", "r");…
Version 3 have different interface Example: https://github.com/herbertabdillah/fabric-gateway-ruby/commit/c7377aaf2e62de1e2ac309965a09b5c7c72a2c7e
Telah di edit. Sumber Asli : https://twitter.com/nateberkopec/status/1250603032523370496/photo/1 Ruby on Rails merupakan framework web MVC menggunakan bahasa…
Sebenernya spring boot sudah di embedd applicatoin server tomcat (hanya berisi web container, tidak bisa…
// TODO IP -> DNS Static. Add New IP -> Firewall -> NAT. Klik Add New Action:…