PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Permintaan macet di PG::Connection#async_exec

Masalah teratasi setelah kami mulai membangun kembali koneksi ke database. Kami menggunakan sequel pada proyek, dan Penumpang menangani masalah itu sendiri hanya ketika ActiveRecord digunakan.

Untuk memperluasnya, secara default Penumpang menggunakan pemijahan pintar untuk aplikasi ruby. Ini pertama kali memunculkan proses preloader, yang memuat kerangka kerja dan semua perpustakaan. Setelah itu proses preloader memunculkan proses pekerja saat dibutuhkan, yang menangani permintaan. Saat proses spawning worker, semua deskriptor file diwarisi dari proses preloader. Jadi jika Anda tidak membangun kembali koneksi ke database, semua proses pekerja berbagi satu, dibuat oleh preloader. Yang mengarah ke segala macam perilaku aneh. Permintaan suka terlalu lama.

Sebelum itu, kami juga memindahkan penanganan koneksi WebSocket ke proses terpisah. Namun, tidak yakin apakah itu berkontribusi pada masalah.

Selengkapnya di sini:

Putuskan Hubungan Jika Menggunakan Forking Webserver dengan Kode Preloading
Berbagi deskriptor file yang tidak disengaja
Menjalankan server Action Cable pada host dan port yang sama, di bawah sub-URI




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penyortiran angka manusiawi atau alami dari string kata-dan-angka campuran

  2. Cari di 300 juta alamat dengan pg_trgm

  3. Beberapa rata-rata pada interval yang berjarak sama

  4. membuat ekstensi pg_cron di dalam docker-entrypoint-initdb.d gagal

  5. Memahami Dan Membaca Katalog Sistem PostgreSQL