Làm cách nào tôi có thể giới hạn số lượng tiến trình con mà MySQL sinh ra?


8

Có cách nào để hạn chế số lượng trẻ em hơn mysqldsinh sản? Hay người ta không nên lo lắng về điều đó? VPS của tôi chỉ có 512MB RAM.

Đây là đầu ra của htop, sau khi tôi đặt max_connectionsthành 6 và khởi động lại mysqldịch vụ:

  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
27082 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.41  `- /usr/sbin/mysqld
27121 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.05  |   `- /usr/sbin/mysqld
27099 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.23  |   `- /usr/sbin/mysqld
27097 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27096 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27095 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27094 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.02  |   `- /usr/sbin/mysqld
27093 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.01  |   `- /usr/sbin/mysqld
27091 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27090 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27089 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld
27088 mysql     20   0  136M 28868  5800 S  0.0  5.7  0:00.00  |   `- /usr/sbin/mysqld

Tôi đã cài đặt MySQL bằng aptitude.

$ aptitude search '~i'
i A mysql-client-5.1                                                                - MySQL database client binaries
i A mysql-client-core-5.1                                                           - MySQL database core client binaries
i A mysql-common                                                                    - MySQL database common files, e.g. /etc/mysql/my.cnf
i   mysql-server                                                                    - MySQL database server (metapackage depending on the latest version)
i A mysql-server-5.1                                                                - MySQL database server binaries and system database setup
i A mysql-server-core-5.1                                                           - MySQL database server binaries

Câu trả lời:


3

bạn có thể sử dụng max_user_connections để giới hạn số lượng kết nối mà một người dùng mysql có thể có cùng một lúc

http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_max_user_connections

bạn cần thử một vài cài đặt / kết hợp khác nhau của max_connections và max_user_connections để có hiệu suất tốt nhất mà không bị hết kết nối.

Ngoài ra, nó không phải là tỷ lệ 1: 1 giữa các kết nối và chủ đề.

http://dev.mysql.com/doc/iternals/en/threads.html


-1

Tôi không biết chính xác những quá trình con đó là gì, nhưng tôi tin rằng chúng không có gì phải lo lắng .

htopĐọc của bạn cho thấy rằng /usr/sbin/mysqldđang sử dụng tổng cộng 136 MB RAM (từ VIRTtrường). Các tiến trình con không sử dụng bất kỳ dung lượng RAM đáng chú ý nào. 136 MB có vẻ như rất nhiều, nhưng MySQL tự nhiên đòi hỏi bộ nhớ .

Nếu bạn nghĩ rằng việc sử dụng CPU là một mối quan tâm, thì không nên. Các TIME+lĩnh vực cho thấy ít sử dụng của bất kỳ của mysqldcác quá trình.

Tôi cũng đã từng có một VPS với 512 MB RAM. Chính sự lựa chọn kém về phần mềm đã khiến tôi hết RAM. Tôi đã thử chạy nhiều máy chủ ảo với Virtualmin . 512 MB không nhiều và các giải pháp ảo hóa như OpenVZ không cho phép bạn trao đổi bất cứ thứ gì ra đĩa, vì vậy hãy coi chừng các yếu tố khác có thể làm tăng mức sử dụng RAM của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.