ฉันจะ จำกัด จำนวนกระบวนการลูกที่ MySQL วางไข่ได้อย่างไร


8

มีวิธี จำกัด จำนวนเด็กมากกว่าการmysqldวางไข่ไหม? หรือเราไม่ควรกังวลเกี่ยวกับสิ่งนั้น? VPS ของฉันมี RAM 512MB เท่านั้น

นี่คือผลลัพธ์ของhtopหลังจากที่ฉันตั้งค่าmax_connectionsเป็น 6 และเริ่มmysqlบริการ:

  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

ฉันติดตั้ง MySQL โดยใช้ความถนัด

$ 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

คำตอบ:


3

คุณสามารถใช้ max_user_connections เพื่อ จำกัด จำนวนการเชื่อมต่อที่ผู้ใช้ mysql คนเดียวสามารถทำได้ในครั้งเดียว

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

คุณต้องลองการตั้งค่า / การรวมกันของ max_connections และ max_user_connections ที่แตกต่างกันสองสามตัวเพื่อให้ได้ประสิทธิภาพที่ดีที่สุดโดยไม่ต้องหมดการเชื่อมต่อ

นอกจากนี้ยังไม่ได้อัตราส่วน 1: 1 ระหว่างการเชื่อมต่อและเธรด

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


-1

ผมไม่ทราบว่าสิ่งเหล่านั้นกระบวนการที่เด็กมี แต่ผมเชื่อว่าพวกเขาจะมีอะไรที่จะต้องกังวลเกี่ยวกับ

htopการอ่านของคุณแสดงให้เห็นว่า/usr/sbin/mysqldใช้ RAM ทั้งหมด 136 MB (จากVIRTฟิลด์) กระบวนการลูกไม่ได้ใช้จำนวน RAM ที่เห็นได้ชัดเจน 136 MB อาจดูเหมือนมาก แต่MySQL เป็นธรรมชาติเรียกร้องสำหรับหน่วยความจำ

หากคุณคิดว่าการใช้งาน CPUนั้นเป็นเรื่องที่น่ากังวล TIME+การใช้งานเล็ก ๆ น้อย ๆ ที่แสดงให้เห็นข้อมูลใด ๆ ของmysqldกระบวนการ

ฉันเคยมี VPS พร้อม RAM ขนาด 512 MB เช่นกัน มันเป็นทางเลือกที่ดีของฉันของซอฟต์แวร์ที่ทำให้ฉันวิ่งออกมาจากแรมฉันพยายามใช้เซิร์ฟเวอร์เสมือนหลายกับVirtualmin 512 MB นั้นไม่มากนักและโซลูชั่นระบบเสมือนจริงเช่นOpenVZไม่อนุญาตให้คุณสลับอะไรกับดิสก์ดังนั้นโปรดระวังปัจจัยอื่น ๆ ที่สามารถเพิ่มการใช้ RAM ของคุณได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.