Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Hiểu đầy đủ về PDO ATTR_PERSISTENT

Quan điểm của Apaches

Apache có một quy trình mẹ. Quá trình này tạo ra các quy trình con sẽ xử lý bất kỳ yêu cầu nào đến máy chủ web. Số lượng ban đầu của các quy trình con đang được khởi động khi máy chủ web khởi động được định cấu hình bởi StartServers chỉ thị trong cấu hình apache. Số lượng tăng lên khi cần thiết với số lượng yêu cầu tăng lên từ máy chủ web cho đến khi ServerLimit đạt được.

PHP và các kết nối liên tục

Nếu PHP (chạy dưới dạng mod_php, vì CGI tất cả các tài nguyên được giải phóng khi kết thúc quá trình thực thi tập lệnh) hiện đang được yêu cầu thiết lập kết nối liên tục với cơ sở dữ liệu cho một yêu cầu, kết nối này sẽ được giữ ngay cả sau khi tập lệnh kết thúc. hold là kết nối giữa quy trình con apache mà yêu cầu được xử lý bởi máy chủ cơ sở dữ liệu và có thể được sử dụng lại bởi bất kỳ yêu cầu nào đang được xử lý bởi quy trình con chính xác này.

Nếu vì một lý do nào đó (đừng hỏi tôi chính xác tại sao), tiến trình con đang bị chiếm dụng lâu hơn yêu cầu thực tế và một yêu cầu khác xuất hiện, thì quy trình apache gốc sẽ chuyển hướng yêu cầu này đến một quy trình con (mới) có thể chưa được thiết lập kết nối với cơ sở dữ liệu cho đến thời điểm này. Nếu phải trong quá trình thực thi tập lệnh, nó sẽ tăng SID như bạn đã quan sát. Bây giờ có hai kết nối được giữ bởi hai tiến trình con khác nhau của apache.

Hãy nhớ rằng ...

Điều quan trọng cần biết là điều này cũng có thể gây ra rất nhiều rắc rối. . Ngoài ra, có thể xảy ra trường hợp tất cả các kết nối có sẵn của cơ sở dữ liệu đều được sử dụng, nhưng có một tiến trình con khác của máy chủ apache đang cố gắng truy cập cơ sở dữ liệu. Quá trình này bị chặn tạm thời cho đến khi kết nối được giải phóng bởi cơ sở dữ liệu hoặc apache (hết thời gian chờ hoặc tự nguyện chấm dứt). Mọi thông tin khác về chủ đề này trên trang này:http://www.php.net/manual/en/features.persists-connections.php

Tôi hy vọng tôi đã tóm tắt tất cả những gì chúng ta đã thảo luận trong cuộc trò chuyện bình luận của chúng tôi một cách chính xác và không quên bất cứ điều gì. :)

Chỉnh sửa:

Tôi vừa đọc xong bài viết @MonkeyZeus được đề cập trong nhận xét này, nó mô tả quá trình tôi đã tóm tắt ở trên và cung cấp thông tin hữu ích về cách tối ưu hóa máy chủ apache của bạn để hoạt động tốt hơn cùng với các kết nối liên tục. Nó có thể được sử dụng có hoặc không có phụ trợ cơ sở dữ liệu oracle, Mặc dù vậy, bạn nên xem:http://www.oracle.com/technetwork/articles/coggeshall-persist-084844.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo báo cáo PDF bằng PL / SQL

  2. Tạo khóa tự động Hibernate với MySQL và Oracle

  3. Làm thế nào để tải tệp JAR trong cơ sở dữ liệu Oracle?

  4. Các tham số utl_file.fopen trong Oracle

  5. Hàm CEIL () trong Oracle