Tôi có ứng dụng J2EE, được triển khai trong máy chủ ứng dụng JBoss6 trong Windows (Vista 32 bit) nền tảng. Cơ sở dữ liệu của tôi là "PostgreSQL 9.0.4" và tôi đang sử dụng trình điều khiển JDBC: "postgresql-9.0-801.jdbc4.jar".Tại sao rất nhiều "postgres.exe" được tạo ra khi tôi chạy ứng dụng của mình?
Trong file ds.xml của tôi, tôi đã xác định max-pool-size = 75 và min-pool-size = 40. tôi đang sử dụng JPA/Hibernate cũng như sử dụng javax.sql.DataSource.
Trong cửa sổ "Trình quản lý tác vụ", tôi thấy rằng khi máy chủ PostgreSQL khởi động, nó tạo ra các quy trình 6 "postgres.exe". Bây giờ khi tôi triển khai/khởi động ứng dụng J2EE của tôi trong JBoss, tôi tìm thấy tổng số tổng số 66 quy trình "postgres.exe". Vì vậy, điều đó có nghĩa là 60 quy trình bưu chính khác được sinh ra (hoặc khởi chạy) vì ứng dụng của tôi đã bắt đầu.
Nếu tôi thay đổi max-pool-kích thước là sau đó tôi nhận thấy rằng tôi có tổng cộng 46 postgres.exe xử lý. Trong cả hai trường hợp, không. các quy trình postgres giảm xuống 6 khi tôi dừng ứng dụng J2EE của mình.
Vì vậy, câu hỏi của tôi, điều này có bình thường không? Các quy trình bổ sung đó có được sinh ra/khởi chạy vì 'kết nối tổng hợp' (được Hibernate sử dụng) không?
Tại sao không sử dụng nhiều chủ đề nhẹ hơn thay vì quy trình? – farukdgn
Hi @Frank Tôi đang đối mặt với cùng một vấn đề do đó tương tác DB của tôi được thực hiện bởi ứng dụng khởi động mùa xuân đã trở nên chậm chạp. Có cách nào để đóng kết nối không cần thiết không? làm thế nào tôi có thể tối ưu hóa điều này? – Hiren