ಅನುಸ್ಥಾಪನೆಯ ನಂತರ ತಕ್ಷಣವೇ mySQL ನಲ್ಲಿ ಏನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗಿದೆ? MySQL ಅನ್ನು ಟ್ವೀಕಿಂಗ್ ಮಾಡುವುದು

ಆವೃತ್ತಿ 3.22 ರಿಂದ, MySQL ಆಯ್ಕೆ ಫೈಲ್‌ಗಳಿಂದ ಸರ್ವರ್ ಮತ್ತು ಕ್ಲೈಂಟ್‌ಗಳಿಗಾಗಿ ಡೀಫಾಲ್ಟ್ ಆರಂಭಿಕ ಆಯ್ಕೆಗಳನ್ನು ಓದಬಹುದು. Unix ನಲ್ಲಿ, ಡೀಫಾಲ್ಟ್ MySQL ನಿಯತಾಂಕಗಳನ್ನು ಈ ಕೆಳಗಿನ ಫೈಲ್‌ಗಳಿಂದ ಓದಲಾಗುತ್ತದೆ:

DATADIR ಒಂದು ಡೈರೆಕ್ಟರಿಯಾಗಿದೆ MySQL ಡೇಟಾ(ಸಾಮಾನ್ಯವಾಗಿ ಬೈನರಿ ಅನುಸ್ಥಾಪನೆಗೆ "/usr/local/mysql/data" ಅಥವಾ ಅನುಸ್ಥಾಪನೆಗೆ "/usr/local/var" ಮೂಲ ಪಠ್ಯಗಳು) ಇದು ಸೆಟಪ್ ಸಮಯದಲ್ಲಿ ಸೂಚಿಸಲಾದ ಡೈರೆಕ್ಟರಿಯಾಗಿದೆ, mysqld ಅನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ -datadir ನೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿಲ್ಲ ಎಂಬುದನ್ನು ಗಮನಿಸಿ! (-datadir ಸರ್ವರ್‌ನಿಂದ ಪ್ಯಾರಾಮೀಟರ್ ಫೈಲ್‌ಗಳನ್ನು ಹೇಗೆ ವೀಕ್ಷಿಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಮೇಲೆ ಯಾವುದೇ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಆಜ್ಞಾ ಸಾಲಿನ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಮೊದಲು ಅವುಗಳನ್ನು ವೀಕ್ಷಿಸಲಾಗುತ್ತದೆ).

MySQL ಮೇಲೆ ಪಟ್ಟಿ ಮಾಡಲಾದ ಕ್ರಮದಲ್ಲಿ ಪ್ಯಾರಾಮೀಟರ್ ಫೈಲ್‌ಗಳನ್ನು ಓದಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ಅಂತಹ ಹಲವಾರು ಫೈಲ್‌ಗಳಿದ್ದರೆ, ನಂತರ ಬರುವ ಫೈಲ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಪ್ಯಾರಾಮೀಟರ್ ಹಿಂದೆ ಇರುವ ಫೈಲ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಅದೇ ಪ್ಯಾರಾಮೀಟರ್‌ಗಿಂತ ಆದ್ಯತೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ನಿಯತಾಂಕಗಳು ಆಜ್ಞಾ ಸಾಲಿನ, ಯಾವುದೇ ಪ್ಯಾರಾಮೀಟರ್ ಫೈಲ್‌ಗಳಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ನಿಯತಾಂಕಗಳಿಗಿಂತ ಹೆಚ್ಚಿನ ಆದ್ಯತೆಯನ್ನು ಹೊಂದಿರಿ. ಕೆಲವು ನಿಯತಾಂಕಗಳನ್ನು ಬಳಸಿ ಹೊಂದಿಸಬಹುದು ಪರಿಸರ ಅಸ್ಥಿರ. ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಅಥವಾ ಆಯ್ಕೆಯ ಫೈಲ್‌ಗಳಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಆಯ್ಕೆಗಳು ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳಿಗಿಂತ ಆದ್ಯತೆಯನ್ನು ಪಡೆಯುತ್ತವೆ.

ಪ್ಯಾರಾಮೀಟರ್ ಫೈಲ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುವ ಪ್ರೋಗ್ರಾಂಗಳ ಪಟ್ಟಿ ಇಲ್ಲಿದೆ: mysql, mysqladmin, mysqld, mysqld_safe, mysql.server, mysqldump, mysqlimport, mysqlshow, mysqlcheck, myisamchk ಮತ್ತು myisampack.

MySQL ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಚಲಾಯಿಸುವಾಗ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದಾದ ಯಾವುದೇ ನಿಯತಾಂಕವನ್ನು ನಿಯತಾಂಕಗಳ ಫೈಲ್‌ನಲ್ಲಿ (ಪ್ರಮುಖ ಡಬಲ್ ಸ್ಲ್ಯಾಷ್ ಇಲ್ಲದೆ) ಸಹ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಲಭ್ಯವಿರುವ ಆಯ್ಕೆಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲು, -help ಆಯ್ಕೆಯೊಂದಿಗೆ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ರನ್ ಮಾಡಿ.

My.cnf MySQL 5.5 ನಿಯತಾಂಕಗಳು (UTF8 ಎನ್‌ಕೋಡಿಂಗ್‌ಗಳು)

    utf8mb4 ಎಂದರೇನು? utf8mb4 ಎನ್ನುವುದು MySQL ನಲ್ಲಿ 4 ಬೈಟ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಬಳಸಲಾಗುವ ಅಕ್ಷರ ಸೆಟ್ ಆಗಿದೆ, ಇದನ್ನು 2010 ರಲ್ಲಿ ಆವೃತ್ತಿ 5.5.3 ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲಾಯಿತು. utf8mb4 ಮತ್ತು utf8 ನಡುವಿನ ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೆಂದರೆ utf8mb4 ಹೆಚ್ಚು ಬಳಸುತ್ತದೆ ಪೂರ್ಣ ಸಾಮರ್ಥ್ಯಗಳು UTF8 ಎನ್ಕೋಡಿಂಗ್, ಎಲ್ಲಾ ಭಾಷೆಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ವಿಶೇಷ ಪಾತ್ರಗಳು, ಇದು utf8 ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ (ಉದಾಹರಣೆಗೆ, ಜಪಾನೀಸ್ ಅಥವಾ ios ನಿಂದ ಎಮೋಟಿಕಾನ್‌ಗಳು - ಎಮೋಜಿ). ಆದಾಗ್ಯೂ, ನೀವು ಊಹಿಸುವಂತೆ, utf8mb4 1 ಅಕ್ಷರವನ್ನು ಸಂಗ್ರಹಿಸಲು 4 ಬೈಟ್‌ಗಳನ್ನು ಬಳಸಿದರೆ, utf8 ನಲ್ಲಿನ ಅದೇ ಡೇಟಾಬೇಸ್‌ನೊಂದಿಗೆ ಹೋಲಿಸಿದಾಗ ಡೇಟಾಬೇಸ್ ಗಾತ್ರದಲ್ಲಿ ಹೆಚ್ಚಾಗಬಹುದು. ಇತ್ತೀಚಿನ ದಿನಗಳಲ್ಲಿ, ಸ್ವಲ್ಪ ಹೆಚ್ಚಿದ ಡೇಟಾಬೇಸ್ ಗಾತ್ರವು ಗಮನಾರ್ಹವಾದ ಸಮಸ್ಯೆಯಲ್ಲ, ಆದ್ದರಿಂದ ನೀವು utf8 ಅಥವಾ utf8mb4 ಅಕ್ಷರ ಸೆಟ್ ಅನ್ನು ಬಳಸುವ ಆಯ್ಕೆಯನ್ನು ಎದುರಿಸುತ್ತಿದ್ದರೆ, utf8mb4 ಅನ್ನು ಬಳಸಿ.

MySQL 5.5.22 ರಲ್ಲಿನ ಕೆಲವು my.cnf ನಿಯತಾಂಕಗಳನ್ನು ಅಸಮ್ಮತಿಸಲಾಗಿದೆ ಮತ್ತು ಬದಲಾಯಿಸಲಾಗಿದೆ ಮತ್ತು ತೆಗೆದುಹಾಕಲಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ವಿಭಾಗದಲ್ಲಿ my.cnf ನಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಎನ್‌ಕೋಡಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸುವುದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

#... character_set_server = utf8 # ಹಿಂದಿನ ಡೀಫಾಲ್ಟ್-ಕ್ಯಾರೆಕ್ಟರ್-ಸೆಟ್ = utf8 ಮತ್ತು character_set_server = utf8 collation-server = utf8_unicode_ci # ಹಿಂದೆ collation_server = utf8_unicode_ci

collation-server = utf8_unicode_ci ಅಥವಾ collation-server = utf8_general_ci? utf8_unicode_ci ವಿಸ್ತರಣೆಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, utf8_general_ci ಗಿಂತ ಭಿನ್ನವಾಗಿ, ಅಂದರೆ, ಇದು ಒಂದು ಅಕ್ಷರವನ್ನು ಹಲವಾರು ಅಕ್ಷರಗಳಿಗೆ ಹೊಂದಿಸಬಹುದು (ಉದಾಹರಣೆಗೆ, ಜರ್ಮನಿಯಲ್ಲಿ ß = ss). ಯುನಿಕೋಡ್ ಅಕ್ಷರ ಸೆಟ್‌ಗಳಂತೆಯೇ ಹೆಚ್ಚು.

ಹೋಲಿಕೆ utf8_unicode_ci _ciಕೇಸ್ ಸೆನ್ಸಿಟಿವ್, utf8_unicode_bin _ಬಿನ್ಕೇಸ್ ಸೆನ್ಸಿಟಿವ್.

my.cnf ನಿಯತಾಂಕಗಳು

> ee /etc/my.cnf # ಕೆಳಗಿನ ಆಯ್ಕೆಗಳನ್ನು ಎಲ್ಲಾ MySQL ಕ್ಲೈಂಟ್‌ಗಳಿಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ #password = your_password port = 3306 socket = /tmp/mysql.sock # ಇಲ್ಲಿ ಕೆಲವು ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಕ್ರಮಗಳಿಗೆ ನಮೂದುಗಳನ್ನು ಅನುಸರಿಸುತ್ತದೆ # MySQL ಸರ್ವರ್ ಪೋರ್ಟ್ = 3306 ಸಾಕೆಟ್ = /tmp/mysql.sock skip-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 2K read_buffer_size _buffer_size = 8M ಡೀಫಾಲ್ಟ್-ಕ್ಯಾರೆಕ್ಟರ್ -ಸೆಟ್ = utf8 character_set_server = utf8 collation_server = utf8_unicode_ci bind-address = 127.0.0.1 # TCP/IP ಪೋರ್ಟ್‌ನಲ್ಲಿ ಕೇಳಬೇಡಿ Unix ಸಾಕೆಟ್‌ಗಳು ಅಥವಾ ಹೆಸರಿಸಲಾದ ಪೈಪ್‌ಗಳು # ಯುನಿಕ್ಸ್ ಸಾಕೆಟ್‌ಗಳ ಮೂಲಕ ಅಥವಾ ಹೆಸರಿನ ಪೈಪ್‌ಗಳ ಮೂಲಕ ಮಾಡಬೇಕು # ವಿಂಡೋಸ್ # ("ಸಕ್ರಿಯಗೊಳಿಸಿದ-ಪೈಪ್" ಆಯ್ಕೆಯ ಮೂಲಕ) ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸುವುದರಿಂದ mysqld ಅನುಪಯುಕ್ತವಾಗುತ್ತದೆ. ! # # ಸ್ಕಿಪ್-ನೆಟ್ವರ್ಕಿಂಗ್ #...

MySql ನಲ್ಲಿನ ಡೀಫಾಲ್ಟ್ ಕಾನ್ಫಿಗರೇಶನ್ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು ಅತ್ಯಂತ ಸಾಧಾರಣ ಹಾರ್ಡ್‌ವೇರ್‌ನಲ್ಲಿ ಕಡಿಮೆ ಲೋಡ್‌ಗಳ ಅಡಿಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಸಣ್ಣ ಡೇಟಾಬೇಸ್‌ಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. Mysql ಗಾಗಿ ನಿಮ್ಮ ಯೋಜನೆಗಳು ಹಲವಾರು ನೂರು ದಾಖಲೆಗಳಿಂದ ಟೇಬಲ್ ಗಡಿಗಳನ್ನು ಮೀರಿ ವಿಸ್ತರಿಸಿದರೆ, ನೀವು ಖಂಡಿತವಾಗಿಯೂ ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗುತ್ತದೆ. MySQL ಅನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯು ಎರಡು ಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ - ಆರಂಭಿಕ ಸೆಟಪ್ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ ನಿಯತಾಂಕಗಳನ್ನು ಸರಿಹೊಂದಿಸುವುದು. ಆಪರೇಟಿಂಗ್ ಮೋಡ್ನಲ್ಲಿ ನಿಯತಾಂಕಗಳನ್ನು ಸರಿಹೊಂದಿಸುವುದು ಹೆಚ್ಚಾಗಿ ನಿಮ್ಮ ಸಿಸ್ಟಮ್ನ ನಿಶ್ಚಿತಗಳು ಮತ್ತು ಅದರ ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ - ಇಲ್ಲಿ ಯಾವುದೇ ವಿಶೇಷ ನಿಯಮಗಳಿಲ್ಲ. ಫಾರ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆಹಲವಾರು ಶಿಫಾರಸುಗಳಿವೆ:

MySQL - ಉಚಿತ ವ್ಯವಸ್ಥೆಡೇಟಾಬೇಸ್ ನಿರ್ವಹಣೆ. ಅಭಿವೃದ್ಧಿ ಮತ್ತು MySQL ಬೆಂಬಲಹಕ್ಕುಗಳನ್ನು ಪಡೆದಿರುವ ಒರಾಕಲ್ ಕಾರ್ಪೊರೇಷನ್ ನಡೆಸುತ್ತದೆ ಟ್ರೇಡ್ಮಾರ್ಕ್ಹಿಂದೆ ಸ್ವಾಧೀನಪಡಿಸಿಕೊಂಡ ಸನ್ ಮೈಕ್ರೋಸಿಸ್ಟಮ್ಸ್ ಜೊತೆಗೆ ಸ್ವೀಡಿಷ್ ಕಂಪನಿ MySQL AB. ಉತ್ಪನ್ನವನ್ನು GNU ಜನರಲ್ ಪಬ್ಲಿಕ್ ಪರವಾನಗಿ ಮತ್ತು ಅದರ ಸ್ವಂತ ವಾಣಿಜ್ಯ ಪರವಾನಗಿ ಎರಡರ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಅಭಿವರ್ಧಕರು ಕಸ್ಟಮ್ ಕಾರ್ಯವನ್ನು ರಚಿಸುತ್ತಾರೆ ಪರವಾನಗಿ ಪಡೆದ ಬಳಕೆದಾರರು, ಇದು ಬಹುತೇಕ ಈ ಆದೇಶಕ್ಕೆ ಧನ್ಯವಾದಗಳು ಹಿಂದಿನ ಆವೃತ್ತಿಗಳುಒಂದು ಪುನರಾವರ್ತನೆಯ ಕಾರ್ಯವಿಧಾನವು ಕಾಣಿಸಿಕೊಂಡಿತು.

mysql ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಫೈಲ್ ತೆರೆಯಿರಿ, ಉದಾಹರಣೆಗೆ:

/etc/mysql/my.cnf

ನಿಮ್ಮ ಅವಶ್ಯಕತೆಗಳಿಗೆ ಅನುಗುಣವಾಗಿ ನೀವು ಗಮನ ಹರಿಸಬೇಕಾದ ಮತ್ತು ಬದಲಾಯಿಸಬೇಕಾದ ಸಾಮಾನ್ಯ ನಿಯತಾಂಕಗಳು:

ಕೀ_ಬಫರ್_ಗಾತ್ರ

ನೀವು MyIsam ಕೋಷ್ಟಕಗಳನ್ನು ಮಾತ್ರ ಬಳಸಿದರೆ, ಈ ಮೌಲ್ಯವನ್ನು 30% ... ಲಭ್ಯವಿರುವ ಎಲ್ಲದರ 40% ಗೆ ಹೊಂದಿಸಿ RAMಸರ್ವರ್‌ನಲ್ಲಿ. MyIsam ಸಂಗ್ರಹವನ್ನು ಬಳಸುತ್ತದೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಡೇಟಾಕ್ಕಾಗಿ, ಆದ್ದರಿಂದ ದಯವಿಟ್ಟು ಉಳಿದಿರುವುದನ್ನು ಗಮನಿಸಿ ಉಚಿತ ಮೆಮೊರಿಇದಕ್ಕಾಗಿ ನಿಮಗೆ ಇದು ನಿಖರವಾಗಿ ಬೇಕಾಗುತ್ತದೆ. ನೀವು ಕೆಲವು MyIsam ಕೋಷ್ಟಕಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಮತ್ತು ಅವುಗಳ ಒಟ್ಟು ಗಾತ್ರವು ಚಿಕ್ಕದಾಗಿದ್ದರೆ, ಈ ಮೌಲ್ಯವನ್ನು 32M ಒಳಗೆ ಬಿಡಿ.

innodb_buffer_pool_size

ನೀವು InnoDB ಕೋಷ್ಟಕಗಳನ್ನು ಮಾತ್ರ ಬಳಸಿದರೆ, ಈ ಮೌಲ್ಯವನ್ನು ನಿಮ್ಮ ಸಿಸ್ಟಮ್‌ಗೆ ಗರಿಷ್ಠವಾಗಿ ಹೊಂದಿಸಿ. InnoDB ಬಫರ್ ಡೇಟಾ ಮತ್ತು ಇಂಡೆಕ್ಸ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ (ಮತ್ತು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಸಂಗ್ರಹವನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ), ಆದ್ದರಿಂದ ಈ ಕೀಲಿಯ ಮೌಲ್ಯವನ್ನು ಲಭ್ಯವಿರುವ ಮೆಮೊರಿಯ 70% ... 80% ಗೆ ಹೊಂದಿಸಬೇಕು.

ನಿಮ್ಮ ಸರ್ವರ್ Linux ಅಥವಾ Unix ನಲ್ಲಿ ರನ್ ಆಗಿದ್ದರೆ, Mysql ಈಗಾಗಲೇ ಕ್ಯಾಶ್ ಮಾಡುತ್ತಿರುವುದನ್ನು OS ಮಟ್ಟದಲ್ಲಿ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವುದನ್ನು ತಪ್ಪಿಸಲು innodb_flush_method ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು “O_DIRECT” ಗೆ ಹೊಂದಿಸಲು ಮರೆಯಬೇಡಿ.

innodb_log_file_size

ನೀವು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ದಾಖಲೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಈ ಪ್ಯಾರಾಮೀಟರ್ಗೆ ಗಮನ ಕೊಡಿ. ಹೇಗೆ ದೊಡ್ಡ ಗಾತ್ರಈ ಕೀ, ಡೇಟಾ ರೆಕಾರ್ಡಿಂಗ್ ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿರುತ್ತದೆ. ಆದರೆ ಇದು ಸಿಸ್ಟಮ್ ಚೇತರಿಕೆಯ ಸಮಯವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ! ಈ ನಿಯತಾಂಕವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ 64M-512M ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ.

innodb_flush_log_at_trx_commit

ಈ ನಿಯತಾಂಕವು innoDB ಕೋಷ್ಟಕಗಳ ಕಾರ್ಯಾಚರಣೆಯ (ಬರಹ) ವೇಗವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ.
ಮೌಲ್ಯ “1″ ಎಂದರೆ ಯಾವುದೇ ಪೂರ್ಣಗೊಂಡ ವಹಿವಾಟು ಲಾಗ್ ಅನ್ನು ಡಿಸ್ಕ್‌ಗೆ ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ಫ್ಲಶ್ ಮಾಡುತ್ತದೆ.
“2″ ಮೌಲ್ಯವು ಅದೇ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತದೆ, ಇದು ಲಾಗ್ ಅನ್ನು ಡಿಸ್ಕ್ಗೆ ಅಲ್ಲ, ಆದರೆ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಸಂಗ್ರಹಕ್ಕೆ ಡಂಪ್ ಮಾಡುತ್ತದೆ. ಈ ಮೌಲ್ಯವು ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ ಸೂಕ್ತವಾಗಿದೆ, ಏಕೆಂದರೆ ... ಪ್ರತಿ ವಹಿವಾಟಿನ ನಂತರ ದುಬಾರಿ ಬರೆಯುವ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಲಾಗ್ ಅನ್ನು ಹಲವಾರು ಸೆಕೆಂಡುಗಳ ವಿಳಂಬದೊಂದಿಗೆ ಡಿಸ್ಕ್ಗೆ ಬರೆಯಲಾಗುತ್ತದೆ, ಇದು ಡೇಟಾ ಸುರಕ್ಷತೆಯ ದೃಷ್ಟಿಕೋನದಿಂದ ತುಂಬಾ ಸುರಕ್ಷಿತವಾಗಿದೆ.
"0" ಮೌಲ್ಯವನ್ನು ನೀಡುತ್ತದೆ ಹೆಚ್ಚಿನ ಉತ್ಪಾದಕತೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ವಹಿವಾಟುಗಳನ್ನು ಲೆಕ್ಕಿಸದೆಯೇ ಲಾಗ್ ಫೈಲ್‌ಗೆ ಬಫರ್ ಅನ್ನು ಫ್ಲಶ್ ಮಾಡಲಾಗುತ್ತದೆ. ನಿಮ್ಮ ಸ್ವಂತ ಅಪಾಯದಲ್ಲಿ ಈ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು "0" ಗೆ ಹೊಂದಿಸಿ, ಏಕೆಂದರೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಡೇಟಾ ನಷ್ಟದ ಅಪಾಯವು ಹೆಚ್ಚಾಗುತ್ತದೆ.

ಟೇಬಲ್_ಸಂಗ್ರಹ

ಈ ಕೀಲಿಯು ಸಂಗ್ರಹಣೆಗಾಗಿ ನಿಯೋಜಿಸಲಾದ ಮೆಮೊರಿಯನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ ತೆರೆದ ಕೋಷ್ಟಕಗಳು. ನೀವು ನೂರಾರು ಕೋಷ್ಟಕಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಈ ಮೌಲ್ಯವನ್ನು 1024 ಗೆ ಹೊಂದಿಸಿ. ನೀವು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಸಂಪರ್ಕಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ಕ್ರಮೇಣ ಈ ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚಿಸಿ, ಏಕೆಂದರೆ ಪ್ರತಿ ಸಂಪರ್ಕಕ್ಕೆ ಪ್ರತ್ಯೇಕ ದಾಖಲೆಯನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿದೆ.

ಥ್ರೆಡ್_ಸಂಗ್ರಹ

ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕಿಸುವಾಗ ಥ್ರೆಡ್ ರಚನೆ/ವಿನಾಶ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ತಪ್ಪಿಸಲು ಈ ಪ್ಯಾರಾಮೀಟರ್ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಈ ನಿಯತಾಂಕವನ್ನು 16 ಕ್ಕೆ ಹೊಂದಿಸಿ ಮತ್ತು ಅಗತ್ಯವಿರುವಂತೆ ಹೆಚ್ಚಿಸಿ. "Threads_created" ಸೂಚಕವನ್ನು ಪರಿಶೀಲಿಸಿ, ಆದರ್ಶಪ್ರಾಯವಾಗಿ ಅದು ಶೂನ್ಯಕ್ಕೆ ಸಮನಾಗಿರಬೇಕು:

Mysql> 'threads_created' ನಂತಹ ಸ್ಥಿತಿಯನ್ನು ತೋರಿಸು; +------–+--–+ | ವೇರಿಯಬಲ್_ಹೆಸರು | ಮೌಲ್ಯ | +------–+--–+ | ಎಳೆಗಳು_ಸೃಷ್ಟಿಸಲಾಗಿದೆ | 423312 | +-------+---+

query_cache_size

ಈ ನಿಯತಾಂಕದ ಮೌಲ್ಯವು ಪ್ರಶ್ನೆ ಸಂಗ್ರಹಕ್ಕಾಗಿ ಎಷ್ಟು ಮೆಮೊರಿಯನ್ನು ಬಳಸಬೇಕೆಂದು ನಿರ್ಧರಿಸುತ್ತದೆ. ದೊಡ್ಡ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸುವುದರೊಂದಿಗೆ ಒದ್ದಾಡಬೇಡಿ. ಪ್ರಶ್ನೆ ಸಂಗ್ರಹವು ದೊಡ್ಡದಾಗಿರಬಾರದು, ಏಕೆಂದರೆ... mysql ಸಂಗ್ರಹದಲ್ಲಿ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸಲು ಸಂಪನ್ಮೂಲಗಳನ್ನು ತಿನ್ನುತ್ತದೆ. 32M...128M ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಅಗತ್ಯವಿರುವಂತೆ ಹೆಚ್ಚಿಸಿ.

ಆಗಸ್ಟ್ 10, 2009 ರಂದು 03:41 ಅಪರಾಹ್ನ

ಅನುಸ್ಥಾಪನೆಯ ನಂತರ ತಕ್ಷಣವೇ mySQL ನಲ್ಲಿ ಏನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗಿದೆ?

  • MySQL
  • ಅನುವಾದ

ಅನುಸ್ಥಾಪನೆಯ ನಂತರ ತಕ್ಷಣವೇ ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಯಾವುದು ಉತ್ತಮ ಎಂಬುದರ ಕುರಿತು MySQL ಕಾರ್ಯಕ್ಷಮತೆ ಬ್ಲಾಗ್‌ನಿಂದ ಹಳೆಯ ಲೇಖನದ ಉಚಿತ ಅನುವಾದ ಮೂಲ ಆವೃತ್ತಿ mySQL.

ಎಷ್ಟು ಜನರು ತಮ್ಮ ಸರ್ವರ್‌ಗಳಲ್ಲಿ mySQL ಅನ್ನು ಸ್ಥಾಪಿಸುತ್ತಾರೆ ಮತ್ತು ಅದನ್ನು ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳೊಂದಿಗೆ ಬಿಡುತ್ತಾರೆ ಎಂಬುದು ಆಶ್ಚರ್ಯಕರವಾಗಿದೆ.

ನೀವು ಬದಲಾಯಿಸಬಹುದಾದ mySQL ನಲ್ಲಿ ಕೆಲವು ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಇದ್ದರೂ, ನಿಜವಾಗಿಯೂ ಬಹಳ ಸೆಟ್‌ಗಳಿವೆ ಪ್ರಮುಖ ಗುಣಲಕ್ಷಣಗಳು, ಇದಕ್ಕಾಗಿ ಆಪ್ಟಿಮೈಸ್ ಮಾಡಬೇಕು ಸ್ವಂತ ಸರ್ವರ್. ಸಾಮಾನ್ಯವಾಗಿ ಇದರ ನಂತರ ಸಣ್ಣ ಸೆಟ್ಟಿಂಗ್ಗಳುಸರ್ವರ್ ಕಾರ್ಯಕ್ಷಮತೆ ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಾಗುತ್ತದೆ.

  • ಕೀ_ಬಫರ್_ಗಾತ್ರ- ಅತ್ಯಂತ ಪ್ರಮುಖ ಸೆಟ್ಟಿಂಗ್ MyISAM ಕೋಷ್ಟಕಗಳನ್ನು ಬಳಸುವಾಗ. ನೀವು MyISAM ಅನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತಿದ್ದರೆ ಲಭ್ಯವಿರುವ RAM ನ ಸುಮಾರು 30-40% ಗೆ ಹೊಂದಿಸಿ. ಸರಿಯಾದ ಗಾತ್ರಸೂಚ್ಯಂಕಗಳ ಗಾತ್ರ, ಡೇಟಾ ಮತ್ತು ಸರ್ವರ್‌ನಲ್ಲಿನ ಲೋಡ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ - ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು MyISAM ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ (OS) ಸಂಗ್ರಹವನ್ನು ಬಳಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ, ಆದ್ದರಿಂದ ನೀವು ಡೇಟಾಕ್ಕಾಗಿ ಸಾಕಷ್ಟು RAM ಜಾಗವನ್ನು ಬಿಡಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಸೂಚ್ಯಂಕಗಳಿಗಿಂತ ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚು ಜಾಗವನ್ನು ಹೆಚ್ಚಿಸಿದೆ. ಆದಾಗ್ಯೂ, ನಿರ್ದೇಶನದ ಮೂಲಕ ಎಲ್ಲಾ ಜಾಗವನ್ನು ನಿಗದಿಪಡಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರೀಕ್ಷಿಸಲು ಮರೆಯದಿರಿ ಕೀ_ಬಫರ್_ಗಾತ್ರಸಂಗ್ರಹಕ್ಕಾಗಿ, ನಿರಂತರವಾಗಿ ಬಳಸಲಾಗುತ್ತಿತ್ತು - ಸೂಚ್ಯಂಕ ಸಂಗ್ರಹಕ್ಕಾಗಿ 4 GB ಅನ್ನು ನಿಗದಿಪಡಿಸಿದ ಸಂದರ್ಭಗಳನ್ನು ನೀವು ಆಗಾಗ್ಗೆ ನೋಡಬಹುದು. ಒಟ್ಟಾರೆ ಗಾತ್ರಎಲ್ಲಾ .MYI ಫೈಲ್‌ಗಳು 1 GB ಯನ್ನು ಮೀರುವುದಿಲ್ಲ. ಇದನ್ನು ಮಾಡುವುದರಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ನಿಷ್ಪ್ರಯೋಜಕವಾಗಿದೆ; ನೀವು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಯಾವುದೇ MyISAM ಕೋಷ್ಟಕಗಳನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ನಂತರ ಕೀ_ಬಫರ್_ಗಾತ್ರಸುಮಾರು 16-32 MB ಗೆ ಹೊಂದಿಸಬೇಕು - ಮೆಮೊರಿಯಲ್ಲಿ ಡಿಸ್ಕ್ನಲ್ಲಿ ರಚಿಸಲಾದ ತಾತ್ಕಾಲಿಕ ಕೋಷ್ಟಕಗಳ ಸೂಚಿಕೆಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಅವುಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
  • innodb_buffer_pool_size- ಅಷ್ಟೇ ಮುಖ್ಯವಾದ ಸೆಟ್ಟಿಂಗ್, ಆದರೆ InnoDB ಗಾಗಿ, ನೀವು ಮುಖ್ಯವಾಗಿ InnoDB ಕೋಷ್ಟಕಗಳನ್ನು ಬಳಸಲು ಹೋದರೆ ಅದರ ಬಗ್ಗೆ ಗಮನ ಹರಿಸಲು ಮರೆಯದಿರಿ, ಏಕೆಂದರೆ ಅವು MyISAM ಕೋಷ್ಟಕಗಳಿಗಿಂತ ಬಫರ್ ಗಾತ್ರಕ್ಕೆ ಹೆಚ್ಚು ಸಂವೇದನಾಶೀಲವಾಗಿರುತ್ತವೆ. MyISAM ಕೋಷ್ಟಕಗಳು ತಾತ್ವಿಕವಾಗಿ, ಸಹ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದು ಒಂದು ದೊಡ್ಡ ಸಂಖ್ಯೆಡೇಟಾ ಮತ್ತು ಪ್ರಮಾಣಿತ ಮೌಲ್ಯದಲ್ಲಿ ಕೀ_ಬಫರ್_ಗಾತ್ರ, ಆದಾಗ್ಯೂ ಮೌಲ್ಯವು ತಪ್ಪಾಗಿದ್ದರೆ mySQL ತುಂಬಾ ನಿಧಾನವಾಗಿರುತ್ತದೆ innodb_buffer_pool_size. InnoDB ಸೂಚ್ಯಂಕಗಳು ಮತ್ತು ಡೇಟಾ ಎರಡನ್ನೂ ಸಂಗ್ರಹಿಸಲು ತನ್ನದೇ ಆದ ಬಫರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದ್ದರಿಂದ OS ಸಂಗ್ರಹಕ್ಕಾಗಿ ಮೆಮೊರಿಯನ್ನು ಬಿಡುವ ಅಗತ್ಯವಿಲ್ಲ - ಸ್ಥಾಪಿಸಿ innodb_buffer_pool_sizeಲಭ್ಯವಿರುವ RAM ನ 70-80% ನಲ್ಲಿ (ಸಹಜವಾಗಿ, InnoDB ಕೋಷ್ಟಕಗಳನ್ನು ಮಾತ್ರ ಬಳಸಿದರೆ). ತುಲನಾತ್ಮಕವಾಗಿ ಗರಿಷ್ಠ ಗಾತ್ರಈ ಆಯ್ಕೆಯು - ಹೋಲುತ್ತದೆ ಕೀ_ಬಫರ್_ಗಾತ್ರ- ಸಾಗಿಸಬೇಡಿ, ನೀವು ಕಂಡುಹಿಡಿಯಬೇಕು ಸೂಕ್ತ ಗಾತ್ರ, ಹುಡುಕಿ ಉತ್ತಮ ಬಳಕೆಲಭ್ಯವಿರುವ ಮೆಮೊರಿ.
  • innodb_additional_mem_pool_size - ಈ ಆಯ್ಕೆಯನ್ನು mySQL ನ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ವಾಸ್ತವಿಕವಾಗಿ ಯಾವುದೇ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ, ಆದರೆ ವಿವಿಧ ಆಂತರಿಕ ಅಗತ್ಯಗಳಿಗಾಗಿ InnoDB ಗಾಗಿ ಸುಮಾರು 20 MB (ಅಥವಾ ಸ್ವಲ್ಪ ಹೆಚ್ಚು) ಬಿಡಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ.
  • innodb_log_file_size- ಡೇಟಾಬೇಸ್ ಪರಿಸರದಲ್ಲಿ ಅತ್ಯಂತ ಪ್ರಮುಖ ಸೆಟ್ಟಿಂಗ್ ಆಗಾಗ್ಗೆ ಕಾರ್ಯಾಚರಣೆಗಳುಕೋಷ್ಟಕಗಳಲ್ಲಿನ ದಾಖಲೆಗಳು, ವಿಶೇಷವಾಗಿ ಯಾವಾಗ ದೊಡ್ಡ ಸಂಪುಟಗಳು. ಬಿ ದೊಡ್ಡ ಗಾತ್ರಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ, ಆದರೆ ಜಾಗರೂಕರಾಗಿರಿ - ಡೇಟಾ ಮರುಪಡೆಯುವಿಕೆ ಸಮಯವೂ ಹೆಚ್ಚಾಗುತ್ತದೆ. ನಾನು ಸಾಮಾನ್ಯವಾಗಿ ಸರ್ವರ್ ಗಾತ್ರವನ್ನು ಅವಲಂಬಿಸಿ ಸುಮಾರು 64-512 MB ಗೆ ಹೊಂದಿಸುತ್ತೇನೆ.
  • innodb_log_buffer_size - ಪ್ರಮಾಣಿತ ಮೌಲ್ಯಸರಾಸರಿ ಸಂಖ್ಯೆಯ ಬರಹಗಳು ಮತ್ತು ಸಣ್ಣ ವಹಿವಾಟುಗಳೊಂದಿಗೆ ಹೆಚ್ಚಿನ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಈ ಆಯ್ಕೆಯು ಸಾಕಷ್ಟು ಸೂಕ್ತವಾಗಿದೆ. ನಿಮ್ಮ ಸಿಸ್ಟಂ ಚಟುವಟಿಕೆಯ ಸ್ಫೋಟಗಳನ್ನು ಅನುಭವಿಸಿದರೆ ಅಥವಾ ನೀವು BLOB ಡೇಟಾದೊಂದಿಗೆ ಸಕ್ರಿಯವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರೆ, ಮೌಲ್ಯವನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಹೆಚ್ಚಿಸಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ innodb_log_buffer_size. ಹೇಗಾದರೂ, ಅದನ್ನು ಅತಿಯಾಗಿ ಮಾಡಬೇಡಿ - ತುಂಬಾ ದೊಡ್ಡ ಮೌಲ್ಯಮೆಮೊರಿಯ ವ್ಯರ್ಥವಾಗುತ್ತದೆ: ಬಫರ್ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಫ್ಲಶ್ ಆಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಆ ಸೆಕೆಂಡಿನಲ್ಲಿ ನಿಮಗೆ ಅಗತ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಸ್ಥಳಾವಕಾಶ ಬೇಕಾಗಿಲ್ಲ. ಶಿಫಾರಸು ಮಾಡಲಾದ ಮೌಲ್ಯವು ಸುಮಾರು 8-16 MB ಆಗಿದೆ, ಮತ್ತು ಸಣ್ಣ ಡೇಟಾಬೇಸ್‌ಗಳಿಗೆ ಇನ್ನೂ ಕಡಿಮೆ.
  • - InnoDB MyISAM ಗಿಂತ 100 ಪಟ್ಟು ನಿಧಾನವಾಗಿದೆ ಎಂದು ದೂರುತ್ತಿರುವಿರಾ? ನೀವು ಬಹುಶಃ ಸೆಟ್ಟಿಂಗ್ ಬಗ್ಗೆ ಮರೆತಿದ್ದೀರಿ innodb_flush_log_at_trx_commit. 1 ರ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯ ಎಂದರೆ ಪ್ರತಿ ಅಪ್‌ಡೇಟ್ ವಹಿವಾಟು (ಅಥವಾ ಅಂತಹುದೇ ವಹಿವಾಟು-ಅಲ್ಲದ ಆಜ್ಞೆ) ಬಫರ್ ಅನ್ನು ಡಿಸ್ಕ್‌ಗೆ ಫ್ಲಶ್ ಮಾಡಬೇಕು, ಇದು ಸಾಕಷ್ಟು ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾಗಿರುತ್ತದೆ. ಹೆಚ್ಚಿನ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ವಿಶೇಷವಾಗಿ ಹಿಂದೆ MyISAM ಕೋಷ್ಟಕಗಳನ್ನು ಬಳಸಿದವು, "2" ಮೌಲ್ಯದೊಂದಿಗೆ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ (ಅಂದರೆ "ಬಫರ್ ಅನ್ನು ಡಿಸ್ಕ್‌ಗೆ ಫ್ಲಶ್ ಮಾಡಬೇಡಿ, OS ಸಂಗ್ರಹಕ್ಕೆ ಮಾತ್ರ"). ಆದಾಗ್ಯೂ, ಲಾಗ್ ಅನ್ನು ಇನ್ನೂ ಪ್ರತಿ 1-2 ಸೆಕೆಂಡ್‌ಗಳಿಗೆ ಡಿಸ್ಕ್‌ಗೆ ಫ್ಲಶ್ ಮಾಡಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಅಪಘಾತದ ಸಂದರ್ಭದಲ್ಲಿ ನೀವು ಗರಿಷ್ಠ 1-2 ಸೆಕೆಂಡುಗಳ ನವೀಕರಣಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ. "0" ನ ಮೌಲ್ಯವು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ, ಆದರೆ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸುವಾಗ mySQL ಸರ್ವರ್ ಕ್ರ್ಯಾಶ್ ಆಗಿದ್ದರೂ ಸಹ ನೀವು ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳುವ ಅಪಾಯವಿದೆ innodb_flush_log_at_trx_commit"2" ನಲ್ಲಿ ಸಂಪೂರ್ಣ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಕ್ರ್ಯಾಶ್ ಆಗಿದ್ದರೆ ಮಾತ್ರ ನೀವು ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.
  • ಟೇಬಲ್_ಸಂಗ್ರಹ- ತೆರೆಯುವ ಕೋಷ್ಟಕಗಳು ಸಾಕಷ್ಟು ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, MyISAM ಕೋಷ್ಟಕಗಳು .MYI ಫೈಲ್‌ಗಳ ಹೆಡರ್‌ಗಳನ್ನು "ಬಳಸಲಾಗಿದೆ" ಎಂದು ಗುರುತಿಸುತ್ತವೆ ಪ್ರಸ್ತುತ ಕ್ಷಣ" ಸಾಮಾನ್ಯವಾಗಿ ಕೋಷ್ಟಕಗಳನ್ನು ಆಗಾಗ್ಗೆ ತೆರೆಯುವುದು ಒಳ್ಳೆಯದಲ್ಲ, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಎಲ್ಲಾ ಕೋಷ್ಟಕಗಳನ್ನು ತೆರೆದಿಡಲು ಸಾಕಷ್ಟು ದೊಡ್ಡ ಸಂಗ್ರಹವನ್ನು ಹೊಂದಿರುವುದು ಉತ್ತಮವಾಗಿದೆ. ಇದು ಕೆಲವು OS ಸಂಪನ್ಮೂಲಗಳು ಮತ್ತು RAM ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದರೆ ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಗಮನಾರ್ಹ ಸಮಸ್ಯೆಯಲ್ಲ ಆಧುನಿಕ ಸರ್ವರ್ಗಳು. ನೀವು ಹಲವಾರು ನೂರು ಕೋಷ್ಟಕಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನಂತರ ಆಯ್ಕೆಯ ಆರಂಭಿಕ ಮೌಲ್ಯ ಟೇಬಲ್_ಸಂಗ್ರಹ"1024" ಆಗಿರಬಹುದು (ಪ್ರತಿಯೊಂದು ಸಂಪರ್ಕಕ್ಕೆ ತನ್ನದೇ ಆದ ಹ್ಯಾಂಡಲ್ ಅಗತ್ಯವಿದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ). ನೀವು ಇನ್ನೂ ಹೊಂದಿದ್ದರೆ ಹೆಚ್ಚಿನ ಕೋಷ್ಟಕಗಳುಅಥವಾ ಹಲವಾರು ಸಂಪರ್ಕಗಳು - ಪ್ಯಾರಾಮೀಟರ್ ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚಿಸಿ. ನಾನು ನೋಡಿದೆ mySQL ಸರ್ವರ್‌ಗಳುಅರ್ಥದೊಂದಿಗೆ ಟೇಬಲ್_ಸಂಗ್ರಹ 100,000 ಗೆ ಸಮಾನವಾಗಿರುತ್ತದೆ.
  • ಥ್ರೆಡ್_ಸಂಗ್ರಹ- ಥ್ರೆಡ್‌ಗಳನ್ನು ರಚಿಸುವುದು/ನಾಶ ಮಾಡುವುದು ಸಹ ಸಂಪನ್ಮೂಲ-ತೀವ್ರ ಕಾರ್ಯಾಚರಣೆಯಾಗಿದ್ದು ಅದು ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಿದಾಗ ಮತ್ತು ಪ್ರತಿ ಸಂಪರ್ಕವು ಮುರಿದುಹೋದಾಗ ಸಂಭವಿಸುತ್ತದೆ. ನಾನು ಸಾಮಾನ್ಯವಾಗಿ ಈ ಆಯ್ಕೆಯನ್ನು 16 ಕ್ಕೆ ಹೊಂದಿಸುತ್ತೇನೆ. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಏಕಕಾಲೀನ ಸಂಪರ್ಕಗಳ ಸಂಖ್ಯೆಯಲ್ಲಿ ಮತ್ತು ವೇರಿಯಬಲ್ ಮೂಲಕ ಜಿಗಿತಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಥ್ರೆಡ್‌ಗಳು_ಸೃಷ್ಟಿಸಲಾಗಿದೆಎಳೆಗಳ ಸಂಖ್ಯೆಯಲ್ಲಿ ತ್ವರಿತ ಹೆಚ್ಚಳವನ್ನು ನೀವು ನೋಡಿದರೆ, ನೀವು ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚಿಸಬೇಕು ಥ್ರೆಡ್_ಸಂಗ್ರಹ. ಸಾಮಾನ್ಯ ಸರ್ವರ್ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ ಹೊಸ ಎಳೆಗಳನ್ನು ರಚಿಸುವುದನ್ನು ತಡೆಯುವುದು ಗುರಿಯಾಗಿದೆ.
  • query_cache_size- ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಬಹಳಷ್ಟು ಮತ್ತು ಆಗಾಗ್ಗೆ ಡೇಟಾವನ್ನು ಓದುತ್ತಿದ್ದರೆ ಮತ್ತು ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಮಟ್ಟದ ಸಂಗ್ರಹವನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಈ ಆಯ್ಕೆಯು ತುಂಬಾ ಸಹಾಯಕವಾಗಬಹುದು. ಈ ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚು ಹೊಂದಿಸಬೇಡಿ, ಏಕೆಂದರೆ ದೊಡ್ಡ ಪ್ರಶ್ನೆ ಸಂಗ್ರಹವನ್ನು ನಿರ್ವಹಿಸುವುದು ಸ್ವತಃ ದುಬಾರಿಯಾಗಿದೆ. ಶಿಫಾರಸು ಮಾಡಲಾದ ಮೌಲ್ಯವು 32 ರಿಂದ 512 MB ವರೆಗೆ ಇರುತ್ತದೆ. ಪ್ರಶ್ನೆ ಸಂಗ್ರಹವನ್ನು ಎಷ್ಟು ಚೆನ್ನಾಗಿ ಬಳಸಲಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಲು ಮರೆಯಬೇಡಿ - ಕೆಲವು ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ (ಸಂಗ್ರಹದಲ್ಲಿ ಕಡಿಮೆ ಸಂಖ್ಯೆಯ ಹಿಟ್‌ಗಳೊಂದಿಗೆ, ಅಂದರೆ ಯಾವುದೇ ಒಂದೇ ರೀತಿಯ ಡೇಟಾವನ್ನು ಪಡೆಯದಿದ್ದಾಗ) ದೊಡ್ಡ ಸಂಗ್ರಹವನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕುಗ್ಗಿಸಬಹುದು.
ನೀವು ನೋಡುವಂತೆ, ಇದು - ಜಾಗತಿಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳು. ಈ ಅಸ್ಥಿರಗಳು ಸರ್ವರ್ ಹಾರ್ಡ್‌ವೇರ್ ಮತ್ತು ಬಳಸಿದ MySQL ಎಂಜಿನ್‌ಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ, ಆದರೆ ಸೆಷನ್ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ನಿರ್ದಿಷ್ಟವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತದೆ ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಗಳು. ನೀವು ಮುಖ್ಯವಾಗಿ ಬಳಸಿದರೆ ಸರಳ ಪ್ರಶ್ನೆಗಳು, ನಂತರ ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚಿಸುವ ಅಗತ್ಯವಿಲ್ಲ ವಿಂಗಡಿಸು_ಬಫರ್_ಗಾತ್ರ, ನೀವು ಹೆಚ್ಚುವರಿ 64 GB RAM ಅನ್ನು ಹೊಂದಿದ್ದರೂ ಸಹ. ಇದಲ್ಲದೆ, ದೊಡ್ಡ ಸಂಗ್ರಹ ಮೌಲ್ಯಗಳು ಸರ್ವರ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಮಾತ್ರ ಕೆಡಿಸಬಹುದು. ಸರ್ವರ್ ಅನ್ನು ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡಲು, ನಂತರದ ಅವಧಿಯ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಬಿಡುವುದು ಉತ್ತಮ.

PS: mySQL ಅನುಸ್ಥಾಪನೆಯು ಹಲವಾರು ಪೂರ್ವ-ಸ್ಥಾಪಿತ my.cnf ಫೈಲ್‌ಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ ವಿವಿಧ ಲೋಡ್. ಸರ್ವರ್ ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ನಿಮಗೆ ಸಮಯವಿಲ್ಲದಿದ್ದರೆ, ಪ್ರಮಾಣಿತ ಒಂದಕ್ಕಿಂತ ಸಾಮಾನ್ಯವಾಗಿ ಅವುಗಳನ್ನು ಬಳಸುವುದು ಉತ್ತಮ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್, ನಿಮ್ಮ ಸರ್ವರ್‌ನ ಲೋಡ್‌ಗೆ ಹೆಚ್ಚು ಸೂಕ್ತವಾದದನ್ನು ಆರಿಸಿಕೊಳ್ಳುವುದು.

MySQL ಅನ್ನು ಹೊಂದಿಸುವುದು ಮೂಲಭೂತವಾಗಿ ಮುಖ್ಯ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ (/etc/my.cnf ನಲ್ಲಿ FreeBSD). ಹೊಂದಿಸುವ ಮೊದಲು, MySQL 5.6 ನಲ್ಲಿ ಕೆಲವು ನಿಯತಾಂಕಗಳ ಹೆಸರುಗಳು ಮತ್ತು ಅವುಗಳ ಲಭ್ಯತೆಯು ಹಿಂದಿನ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಬಳಸಿದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿದೆ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ.

MySQL 5.6 - my.cnf ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತಿದೆ

my.cnf ಫೈಲ್‌ನಲ್ಲಿನ ಬದಲಾವಣೆಗಳು ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರಲು, ನೀವು MySQL ಸರ್ವರ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕು:

/usr/local/etc/rc.d/mysqld ಮರುಪ್ರಾರಂಭಿಸಿ

ಡೇಟಾಬೇಸ್ ಪ್ರಶ್ನೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸರ್ವರ್‌ನಿಂದ ಹೊಸ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸಲಾಗಿದೆಯೇ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸಬಹುದು:

mysql> ವೇರಿಯಬಲ್‌ಗಳನ್ನು ತೋರಿಸು;

ಕೆಲವು ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮಾತ್ರ ವೀಕ್ಷಿಸಲು, ನೀವು ವಿನಂತಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು. ಉದಾಹರಣೆಗೆ, max_connections ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ನೋಡಲು ನೀವು MySQL ಗೆ ಈ ಕೆಳಗಿನ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಬೇಕು: mysql > "ಗರಿಷ್ಠ" ನಂತಹ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ತೋರಿಸಿ _conn%";

ರೀಬೂಟ್ ಮಾಡಿದ ನಂತರ, ಬದಲಾವಣೆಗಳನ್ನು ಭಾಗಶಃ ಅನ್ವಯಿಸಿದರೆ ಅಥವಾ MySQL ಸರ್ವರ್ ಸ್ವೀಕರಿಸದಿದ್ದರೆ, ತಪ್ಪಾದ ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸಲಾಗಿದೆಯೇ ಅಥವಾ MySQL ಹೆಚ್ಚುವರಿಯಾಗಿ ಮತ್ತೊಂದು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ, ನೀವು ಬದಲಾಯಿಸಿದ ನಿಯತಾಂಕಗಳನ್ನು ಮರುಹೊಂದಿಸುವ ನಿರ್ದೇಶನಗಳು. ಉದಾಹರಣೆಗೆ, DirectAdmin ಹೋಸ್ಟಿಂಗ್ ನಿಯಂತ್ರಣ ಫಲಕವನ್ನು ಸ್ಥಾಪಿಸುವಾಗ, MySQL ಸರ್ವರ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸ್ಥಾಪಿಸಲ್ಪಡುತ್ತದೆ ಮತ್ತು 2 ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ: /etc/my.cnf ಮತ್ತು ಹೆಚ್ಚುವರಿಯಾಗಿ ಲೋಡ್ ಮಾಡಲಾದ /usr/local/mysql/my.cnf. /etc/my.cnf ನಲ್ಲಿ sql_mode ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಬದಲಾಯಿಸುವುದು, ಅದನ್ನು MySQL ಸರ್ವರ್‌ಗೆ ಏಕೆ ಅನ್ವಯಿಸಲಾಗಿಲ್ಲ ಎಂದು ನನಗೆ ಅರ್ಥವಾಗಲಿಲ್ಲ, ಅದು /usr/local/mysql/my.cnf ( FreeBSD) ಅಥವಾ /usr/my (CentOS). MySQL ನಲ್ಲಿ ಬಳಸಲಾದ ಎಲ್ಲಾ my.cnf ಫೈಲ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಹೇಗೆ ಕಂಡುಹಿಡಿಯುವುದು ಪ್ರಶ್ನೆಯನ್ನು ನಮೂದಿಸುವ ಮೂಲಕ ವೀಕ್ಷಿಸಬಹುದು ಹುಡುಕಾಟ ಎಂಜಿನ್: "my.cnf ಸ್ಥಳ".

my.cnf ನಲ್ಲಿ ಬಳಸಲಾದ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಯನ್ನು ಅಧಿಕೃತ MySQL ಬಳಕೆದಾರ ಕೈಪಿಡಿಯಲ್ಲಿ (eng), ಆಯ್ಕೆ ಫೈಲ್ ಕಾಲಮ್‌ನಲ್ಲಿ ಕಾಣಬಹುದು.

ವಿಭಾಗದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ಗಳು

ಲೋಕಲ್_ಇನ್‌ಫೈಲ್

ಲೋಡ್ ಡೇಟಾ ವಿನಂತಿಯಲ್ಲಿ LOCAL ಅನ್ನು ಬಳಸಲು ಈ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು (ಆನ್ ಅಥವಾ 1 - ಡೀಫಾಲ್ಟ್) ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು (ಆಫ್ ಅಥವಾ 0). ಅದು ಏನು ಮತ್ತು ಅದು ಏಕೆ ಬೇಕು ಎಂದು ನಿಮಗೆ ನಿಖರವಾಗಿ ತಿಳಿದಿಲ್ಲದಿದ್ದರೆ, ಸರ್ವರ್‌ನ ಸುರಕ್ಷತೆಯ ಕಾರಣಗಳಿಗಾಗಿ ಲೋಕಲ್_ಇನ್‌ಫೈಲ್ ಅನ್ನು ಆಫ್ (ಲೋಕಲ್_ಇನ್‌ಫೈಲ್=ಆಫ್) ಗೆ ಬದಲಾಯಿಸಲು ಬಲವಾಗಿ ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.

skip_external_locking

skip_external_locking - MyISAM ಪ್ರಕಾರದ ಡೇಟಾಬೇಸ್ ಫೈಲ್‌ಗಳ ಬಾಹ್ಯ ಲಾಕ್‌ಗೆ ಜವಾಬ್ದಾರರಾಗಿರುವ ನಿಯತಾಂಕ (ಡೀಫಾಲ್ಟ್ ಆಗಿ ಆನ್‌ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ - ಲಾಕ್ ಮಾಡುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ). MySQL ಸರ್ವರ್‌ನ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕಾರಣಗಳಿಗಾಗಿ ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸದಂತೆ ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.

skip_name_resolve

skip_name_resolve ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಆನ್ ಅಥವಾ 1 ಗೆ ಹೊಂದಿಸಿದರೆ (skip_name_resolve=OFF - ಡೀಫಾಲ್ಟ್), ಆಗ ಯಾವಾಗ ಬಾಹ್ಯ ಸಂಪರ್ಕ MySQL ಸರ್ವರ್ ಡೊಮೇನ್ ಹೆಸರನ್ನು IP ವಿಳಾಸವಾಗಿ ಭಾಷಾಂತರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ, ಇದು ವಿನಂತಿಯ ಪ್ರಕ್ರಿಯೆಯ ವೇಗವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು, skip_name_resolve ಅನ್ನು OFF ಗೆ ಹೊಂದಿಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ, ಈ ಸಂದರ್ಭದಲ್ಲಿ MySQL ಗೆ ಸಂಪರ್ಕಿಸುವಾಗ IP ವಿಳಾಸ ಅಥವಾ ಸ್ಥಳೀಯ ಹೋಸ್ಟ್ ಅನ್ನು ಮಾತ್ರ ಹೋಸ್ಟ್ ಆಗಿ ಬಳಸಬಹುದು.

ಕಡಿಮೆ_ಆದ್ಯತೆಯ_ನವೀಕರಣಗಳು

ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, INSERT, REPLACE, UPDATE, DELETE ನಂತಹ MySQL ಹೇಳಿಕೆಗಳು ಹೆಚ್ಚಿನದನ್ನು ಹೊಂದಿವೆ ಹೆಚ್ಚಿನ ಆದ್ಯತೆಗಿಂತ, ಉದಾಹರಣೆಗೆ, SELECT, ಮತ್ತು low_priority_updates ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಅದಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಆಫ್‌ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ. ನಿಮ್ಮ ಸರ್ವರ್ ಟೇಬಲ್ ಡೇಟಾಗೆ ಬದಲಾವಣೆಗಳಿಗಿಂತ ಹೆಚ್ಚಿನ ಓದುವ ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಿದರೆ, ನೀವು low_priority_updates ಅನ್ನು ಆನ್‌ಗೆ ಹೊಂದಿಸಬಹುದು. ಕಡಿಮೆ_ಆದ್ಯತೆಯ_ನವೀಕರಣಗಳು MyISAM, MEMORY ಮತ್ತು MERGE ಟೇಬಲ್ ಪ್ರಕಾರಗಳಿಗೆ ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಬೇಕು.

sql_mode

MySQL ಸರ್ವರ್‌ನ ಕಾರ್ಯಾಚರಣೆಯು sql_mode ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ನಿಯತಾಂಕಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಸೆಟ್ಟಿಂಗ್‌ಗಳ ತಪ್ಪಾದ ವಿವರಣೆಯು MySQL ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸೈಟ್‌ನ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ನಿಲ್ಲಿಸಬಹುದು, ಡೇಟಾಬೇಸ್‌ಗೆ ತಪ್ಪಾದ ನಿಯತಾಂಕಗಳನ್ನು ಸೇರಿಸಲು ಮತ್ತು ಇತರ ಸಮಸ್ಯೆಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು. ನೀವು ಇಲ್ಲಿ sql_mod ಕುರಿತು ಇನ್ನಷ್ಟು ಓದಬಹುದು: ಸರ್ವರ್ SQL ವಿಧಾನಗಳು 5.6 (eng).

ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, MySQL 5.6.6 ಮತ್ತು ನಂತರದಲ್ಲಿ ನಂತರದ ಆವೃತ್ತಿಗಳು sql_mode ಮೌಲ್ಯವನ್ನು NO_ENGINE_SUBSTITUTION ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ ( sql_mode=NO_ENGINE_SUBSTITUTION), ಇದು ಹೆಚ್ಚಿನ ಸೈಟ್‌ಗಳಿಗೆ ಸಾಕಷ್ಟು ಇರುತ್ತದೆ, ಆದರೆ ಇನ್ನೂ ಅರ್ಥವಾಗುವಂತಹದ್ದಾಗಿದೆ MySQL ಕೆಲಸ sql_mode ನಲ್ಲಿ ಹೊಂದಿಸಲಾದ MySQL ಕೆಲಸ ಮಾಡುವ ಇತರ ವಿಧಾನಗಳ ಬಗ್ಗೆಯೂ ನೀವು ತಿಳಿದಿರಬೇಕು.

ಗರಿಷ್ಠ_ಸಂಪರ್ಕಗಳು

ಈ ಪ್ಯಾರಾಮೀಟರ್ ಗರಿಷ್ಠ ಅನುಮತಿಸಿದ ಸಂಖ್ಯೆಗೆ ಕಾರಣವಾಗಿದೆ ಏಕಕಾಲಿಕ ಸಂಪರ್ಕಗಳು MySQL ಗೆ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಅದರ ಮೌಲ್ಯವು 151 ಆಗಿದೆ ಮತ್ತು ಇದನ್ನು 1 ರಿಂದ 100000 ಗೆ ಬದಲಾಯಿಸಬಹುದು. "ತುಂಬಾ ಸಂಪರ್ಕಗಳು" ದೋಷ ಕಾಣಿಸಿಕೊಂಡರೆ ಅಥವಾ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯವು ಸಾಕಾಗುವುದಿಲ್ಲ ಎಂದು ನಿರ್ವಾಹಕರು ಖಚಿತವಾಗಿದ್ದರೆ ಈ ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚಿಸಬೇಕು.

query_cache_type

query_cache_type ಮೌಲ್ಯವು ಪ್ರಶ್ನೆ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ (ಆನ್) ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ (OFF). ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವುದು - ಉತ್ತಮ ಮಾರ್ಗಸರ್ವರ್ ಒಂದೇ ರೀತಿಯ ವಿನಂತಿಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದರೆ ಲೋಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಿ. MySQL ಪ್ರಶ್ನೆಗಳನ್ನು memcached ಮೂಲಕ ಸಂಗ್ರಹಿಸಿದಾಗ ಹೊರತುಪಡಿಸಿ, ನೀವು ಯಾವಾಗಲೂ query_cache_type ಅನ್ನು ಬಳಸಬೇಕು.

query_cache_size

ಸಂಗ್ರಹ ಗಾತ್ರ MySQL ಪ್ರಶ್ನೆಗಳು. ಮೌಲ್ಯವನ್ನು Mb - query_cache_size=32M ನಲ್ಲಿ ಬರೆಯಬಹುದು.

MyISAM ಕೋಷ್ಟಕಗಳಿಗಾಗಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳು

ಕೀ_ಬಫರ್_ಗಾತ್ರ

ಕೋಷ್ಟಕಗಳನ್ನು ಮಾತ್ರ ಬಳಸಿದರೆ MyISAM, ಬಫರ್ ಗಾತ್ರವನ್ನು ಲಭ್ಯವಿರುವ RAM ಗಾತ್ರದ ಸುಮಾರು 30-35% ಗೆ ಹೊಂದಿಸಬೇಕು. ಕಡಿಮೆ MyISAM ಕೋಷ್ಟಕಗಳು ಅಥವಾ ಯಾವುದೇ ಕೋಷ್ಟಕಗಳು ಇಲ್ಲದಿದ್ದರೆ, ಆಗ ಕೀ_ಬಫರ್_ಗಾತ್ರ 32 MB ಗೆ ಹೊಂದಿಸಬಹುದು, ಡಿಸ್ಕ್‌ನಲ್ಲಿ ರಚಿಸಲಾದ ತಾತ್ಕಾಲಿಕ ಕೋಷ್ಟಕಗಳ ಇನ್-ಮೆಮೊರಿ ಇಂಡೆಕ್ಸ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಜಾಗವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. key_buffer_size ಗಾಗಿ ಮೆಮೊರಿ ಗಾತ್ರದ ಆಯ್ಕೆಯು ಸೂಚ್ಯಂಕಗಳ ಗಾತ್ರ, ಡೇಟಾ ಮತ್ತು ಸರ್ವರ್ ಲೋಡ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. MyISAM ಅಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಸಂಗ್ರಹವನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ನೀವು ತಿಳಿದಿರಬೇಕು, ಆದ್ದರಿಂದ ನೀವು ಅದಕ್ಕೆ ಸಾಕಷ್ಟು RAM ಜಾಗವನ್ನು ಬಿಡಬೇಕಾಗುತ್ತದೆ. ಡೇಟಾವು ಸೂಚ್ಯಂಕಗಳಿಗಿಂತ ಹೆಚ್ಚು ಜಾಗವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಸಂಗ್ರಹಕ್ಕಾಗಿ key_buffer_size ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಎಲ್ಲಾ ಮೆಮೊರಿಯು ನಿರಂತರವಾಗಿ ಬಳಕೆಯಲ್ಲಿದೆ ಎಂದು ಪರಿಶೀಲಿಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ, ಇಲ್ಲದಿದ್ದರೆ ಅದು ಸಂಪನ್ಮೂಲಗಳ ವ್ಯರ್ಥವಾಗುತ್ತದೆ.

InnoDB ಕೋಷ್ಟಕಗಳಿಗಾಗಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳು

innodb_buffer_pool_size

innodb_buffer_pool_size- InnoDB ಕೋಷ್ಟಕಗಳ ಬಫರ್ ಗಾತ್ರ. ಕೋಷ್ಟಕಗಳನ್ನು ಟೈಪ್ ಮಾಡಿ InnoDBಸೂಚ್ಯಂಕಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ತಮ್ಮದೇ ಆದ ಬಫರ್ ಅನ್ನು ಬಳಸಿ, ಆದ್ದರಿಂದ ನೀವು InnoDB ಪ್ರಕಾರದೊಂದಿಗೆ ಮಾತ್ರ ಟೇಬಲ್‌ಗಳನ್ನು ಬಳಸಲು ಯೋಜಿಸಿದರೆ, ಲಭ್ಯವಿರುವ RAM ನ 75% ಗೆ innodb_buffer_pool_size ಅನ್ನು ಹೊಂದಿಸಲು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಸಂಗ್ರಹಕ್ಕಾಗಿ ಮೆಮೊರಿಯನ್ನು ಬಿಡುವ ಅಗತ್ಯವಿಲ್ಲ. ಈ ಆಯ್ಕೆಯ ಗರಿಷ್ಠ ಗಾತ್ರದ ಶಿಫಾರಸುಗಳು MyISAM ಗಾಗಿ key_buffer_size ಅನ್ನು ಹೋಲುತ್ತವೆ: ನೀವು ಗರಿಷ್ಠ ಗಾತ್ರವನ್ನು ಹೊಂದಿಸಬಾರದು, ನೀವು ಕಂಡುಹಿಡಿಯಬೇಕು ಅತ್ಯುತ್ತಮ ಆಯ್ಕೆ, ಎ ಲಭ್ಯವಿರುವ RAMಇತರ ಕಾರ್ಯಗಳಲ್ಲಿಯೂ ಬಳಸಬಹುದು.

  • ಅನುವಾದ

MySQL ನ ಮೂಲ ಆವೃತ್ತಿಯನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ ತಕ್ಷಣವೇ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು ಯಾವುದು ಉತ್ತಮ ಎಂಬುದರ ಕುರಿತು MySQL ಕಾರ್ಯಕ್ಷಮತೆ ಬ್ಲಾಗ್‌ನಿಂದ ಹಳೆಯ ಲೇಖನದ ಉಚಿತ ಅನುವಾದ.

ಎಷ್ಟು ಜನರು ತಮ್ಮ ಸರ್ವರ್‌ಗಳಲ್ಲಿ mySQL ಅನ್ನು ಸ್ಥಾಪಿಸುತ್ತಾರೆ ಮತ್ತು ಅದನ್ನು ಡೀಫಾಲ್ಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳೊಂದಿಗೆ ಬಿಡುತ್ತಾರೆ ಎಂಬುದು ಆಶ್ಚರ್ಯಕರವಾಗಿದೆ.

ನೀವು ಬದಲಾಯಿಸಬಹುದಾದ mySQL ನಲ್ಲಿ ಸಾಕಷ್ಟು ಸೆಟ್ಟಿಂಗ್‌ಗಳಿವೆ ಎಂಬ ವಾಸ್ತವದ ಹೊರತಾಗಿಯೂ, ನಿಮ್ಮ ಸ್ವಂತ ಸರ್ವರ್‌ಗಾಗಿ ಆಪ್ಟಿಮೈಸ್ ಮಾಡಬೇಕಾದ ನಿಜವಾಗಿಯೂ ಬಹಳ ಮುಖ್ಯವಾದ ಗುಣಲಕ್ಷಣಗಳ ಒಂದು ಸೆಟ್ ಇದೆ. ಸಾಮಾನ್ಯವಾಗಿ, ಅಂತಹ ಸಣ್ಣ ಟ್ವೀಕ್ಗಳ ನಂತರ, ಸರ್ವರ್ ಕಾರ್ಯಕ್ಷಮತೆ ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಾಗುತ್ತದೆ.

  • ಕೀ_ಬಫರ್_ಗಾತ್ರ- MyISAM ಕೋಷ್ಟಕಗಳನ್ನು ಬಳಸುವಾಗ ಅತ್ಯಂತ ಪ್ರಮುಖ ಸೆಟ್ಟಿಂಗ್. ನೀವು MyISAM ಅನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತಿದ್ದರೆ ಲಭ್ಯವಿರುವ RAM ನ ಸುಮಾರು 30-40% ಗೆ ಹೊಂದಿಸಿ. ಸರಿಯಾದ ಗಾತ್ರವು ಸೂಚ್ಯಂಕಗಳ ಗಾತ್ರ, ಡೇಟಾ ಮತ್ತು ಸರ್ವರ್‌ನಲ್ಲಿನ ಲೋಡ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ - ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು MyISAM ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ (OS) ಸಂಗ್ರಹವನ್ನು ಬಳಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ, ಆದ್ದರಿಂದ ನೀವು ಡೇಟಾಕ್ಕಾಗಿ ಸಾಕಷ್ಟು RAM ಜಾಗವನ್ನು ಬಿಡಬೇಕಾಗುತ್ತದೆ, ಮತ್ತು ಡೇಟಾವು ಸೂಚ್ಯಂಕಗಳಿಗಿಂತ ಹೆಚ್ಚು ಜಾಗವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಆದಾಗ್ಯೂ, ನಿರ್ದೇಶನದ ಮೂಲಕ ಎಲ್ಲಾ ಜಾಗವನ್ನು ನಿಗದಿಪಡಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರೀಕ್ಷಿಸಲು ಮರೆಯದಿರಿ ಕೀ_ಬಫರ್_ಗಾತ್ರಸಂಗ್ರಹಕ್ಕಾಗಿ, ನಿರಂತರವಾಗಿ ಬಳಸಲಾಗುತ್ತಿತ್ತು - ಎಲ್ಲಾ .MYI ಫೈಲ್‌ಗಳ ಒಟ್ಟು ಗಾತ್ರವು 1 GB ಗಿಂತ ಹೆಚ್ಚಿಲ್ಲದಿದ್ದರೂ, ಸೂಚ್ಯಂಕ ಸಂಗ್ರಹಕ್ಕಾಗಿ 4 GB ಅನ್ನು ನಿಗದಿಪಡಿಸಿದ ಸಂದರ್ಭಗಳನ್ನು ನೀವು ಸಾಮಾನ್ಯವಾಗಿ ನೋಡಬಹುದು. ಇದನ್ನು ಮಾಡುವುದು ಸಂಪೂರ್ಣವಾಗಿ ನಿಷ್ಪ್ರಯೋಜಕವಾಗಿದೆ; ನೀವು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಯಾವುದೇ MyISAM ಕೋಷ್ಟಕಗಳನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ನಂತರ ಕೀ_ಬಫರ್_ಗಾತ್ರಸುಮಾರು 16-32 MB ಗೆ ಹೊಂದಿಸಬೇಕು - ಮೆಮೊರಿಯಲ್ಲಿ ಡಿಸ್ಕ್ನಲ್ಲಿ ರಚಿಸಲಾದ ತಾತ್ಕಾಲಿಕ ಕೋಷ್ಟಕಗಳ ಸೂಚಿಕೆಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಅವುಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
  • innodb_buffer_pool_size- ಅಷ್ಟೇ ಮುಖ್ಯವಾದ ಸೆಟ್ಟಿಂಗ್, ಆದರೆ InnoDB ಗಾಗಿ, ನೀವು ಮುಖ್ಯವಾಗಿ InnoDB ಕೋಷ್ಟಕಗಳನ್ನು ಬಳಸಲು ಹೋದರೆ ಅದರ ಬಗ್ಗೆ ಗಮನ ಹರಿಸಲು ಮರೆಯದಿರಿ, ಏಕೆಂದರೆ ಅವು MyISAM ಕೋಷ್ಟಕಗಳಿಗಿಂತ ಬಫರ್ ಗಾತ್ರಕ್ಕೆ ಹೆಚ್ಚು ಸಂವೇದನಾಶೀಲವಾಗಿರುತ್ತವೆ. MyISAM ಕೋಷ್ಟಕಗಳು, ತಾತ್ವಿಕವಾಗಿ, ಹೆಚ್ಚಿನ ಪ್ರಮಾಣದ ಡೇಟಾದೊಂದಿಗೆ ಮತ್ತು ಪ್ರಮಾಣಿತ ಮೌಲ್ಯದೊಂದಿಗೆ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಕೀ_ಬಫರ್_ಗಾತ್ರ, ಆದಾಗ್ಯೂ ಮೌಲ್ಯವು ತಪ್ಪಾಗಿದ್ದರೆ mySQL ತುಂಬಾ ನಿಧಾನವಾಗಿರುತ್ತದೆ innodb_buffer_pool_size. InnoDB ಸೂಚ್ಯಂಕಗಳು ಮತ್ತು ಡೇಟಾ ಎರಡನ್ನೂ ಸಂಗ್ರಹಿಸಲು ತನ್ನದೇ ಆದ ಬಫರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದ್ದರಿಂದ OS ಸಂಗ್ರಹಕ್ಕಾಗಿ ಮೆಮೊರಿಯನ್ನು ಬಿಡುವ ಅಗತ್ಯವಿಲ್ಲ - ಸ್ಥಾಪಿಸಿ innodb_buffer_pool_sizeಲಭ್ಯವಿರುವ RAM ನ 70-80% ನಲ್ಲಿ (ಸಹಜವಾಗಿ, InnoDB ಕೋಷ್ಟಕಗಳನ್ನು ಮಾತ್ರ ಬಳಸಿದರೆ). ಈ ಆಯ್ಕೆಯ ಗರಿಷ್ಟ ಗಾತ್ರದ ಬಗ್ಗೆ - ಅದೇ ರೀತಿ ಕೀ_ಬಫರ್_ಗಾತ್ರ- ದೂರ ಹೋಗಬೇಡಿ, ನೀವು ಸೂಕ್ತವಾದ ಗಾತ್ರವನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು, ಲಭ್ಯವಿರುವ ಮೆಮೊರಿಯ ಉತ್ತಮ ಬಳಕೆಯನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು.
  • innodb_additional_mem_pool_size- ಈ ಆಯ್ಕೆಯು mySQL ನ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ವಾಸ್ತವಿಕವಾಗಿ ಯಾವುದೇ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ, ಆದರೆ ವಿವಿಧ ಆಂತರಿಕ ಅಗತ್ಯಗಳಿಗಾಗಿ InnoDB ಗಾಗಿ ಸುಮಾರು 20 MB (ಅಥವಾ ಸ್ವಲ್ಪ ಹೆಚ್ಚು) ಬಿಡಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ.
  • innodb_log_file_size- ಟೇಬಲ್‌ಗಳಿಗೆ ಆಗಾಗ್ಗೆ ಬರೆಯುವ ಕಾರ್ಯಾಚರಣೆಗಳೊಂದಿಗೆ ಡೇಟಾಬೇಸ್‌ಗಳಲ್ಲಿ ಅತ್ಯಂತ ಪ್ರಮುಖವಾದ ಸೆಟ್ಟಿಂಗ್, ವಿಶೇಷವಾಗಿ ದೊಡ್ಡ ಸಂಪುಟಗಳೊಂದಿಗೆ. ಬಿ ದೊಡ್ಡ ಗಾತ್ರಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ, ಆದರೆ ಜಾಗರೂಕರಾಗಿರಿ - ಡೇಟಾ ಮರುಪಡೆಯುವಿಕೆ ಸಮಯವೂ ಹೆಚ್ಚಾಗುತ್ತದೆ. ನಾನು ಸಾಮಾನ್ಯವಾಗಿ ಸರ್ವರ್ ಗಾತ್ರವನ್ನು ಅವಲಂಬಿಸಿ ಸುಮಾರು 64-512 MB ಗೆ ಹೊಂದಿಸುತ್ತೇನೆ.
  • innodb_log_buffer_size- ಈ ಆಯ್ಕೆಯ ಪ್ರಮಾಣಿತ ಮೌಲ್ಯವು ಸರಾಸರಿ ಸಂಖ್ಯೆಯ ಬರವಣಿಗೆ ಕಾರ್ಯಾಚರಣೆಗಳು ಮತ್ತು ಸಣ್ಣ ವಹಿವಾಟುಗಳೊಂದಿಗೆ ಹೆಚ್ಚಿನ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಸಾಕಷ್ಟು ಸೂಕ್ತವಾಗಿದೆ. ನಿಮ್ಮ ಸಿಸ್ಟಂ ಚಟುವಟಿಕೆಯ ಸ್ಫೋಟಗಳನ್ನು ಅನುಭವಿಸಿದರೆ ಅಥವಾ ನೀವು BLOB ಡೇಟಾದೊಂದಿಗೆ ಸಕ್ರಿಯವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರೆ, ಮೌಲ್ಯವನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಹೆಚ್ಚಿಸಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ innodb_log_buffer_size. ಆದಾಗ್ಯೂ, ಅದನ್ನು ಅತಿಯಾಗಿ ಮಾಡಬೇಡಿ - ತುಂಬಾ ದೊಡ್ಡ ಮೌಲ್ಯವು ಮೆಮೊರಿಯ ವ್ಯರ್ಥವಾಗುತ್ತದೆ: ಬಫರ್ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಫ್ಲಶ್ ಆಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಆ ಸೆಕೆಂಡಿನಲ್ಲಿ ನಿಮಗೆ ಅಗತ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಸ್ಥಳಾವಕಾಶ ಬೇಕಾಗಿಲ್ಲ. ಶಿಫಾರಸು ಮಾಡಲಾದ ಮೌಲ್ಯವು ಸುಮಾರು 8-16 MB ಆಗಿದೆ, ಮತ್ತು ಸಣ್ಣ ಡೇಟಾಬೇಸ್‌ಗಳಿಗೆ ಇನ್ನೂ ಕಡಿಮೆ.
  • - InnoDB MyISAM ಗಿಂತ 100 ಪಟ್ಟು ನಿಧಾನವಾಗಿದೆ ಎಂದು ದೂರುತ್ತಿರುವಿರಾ? ನೀವು ಬಹುಶಃ ಸೆಟ್ಟಿಂಗ್ ಬಗ್ಗೆ ಮರೆತಿದ್ದೀರಿ innodb_flush_log_at_trx_commit. 1 ರ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯ ಎಂದರೆ ಪ್ರತಿ ಅಪ್‌ಡೇಟ್ ವಹಿವಾಟು (ಅಥವಾ ಅಂತಹುದೇ ವಹಿವಾಟು-ಅಲ್ಲದ ಆಜ್ಞೆ) ಬಫರ್ ಅನ್ನು ಡಿಸ್ಕ್‌ಗೆ ಫ್ಲಶ್ ಮಾಡಬೇಕು, ಇದು ಸಾಕಷ್ಟು ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾಗಿರುತ್ತದೆ. ಹೆಚ್ಚಿನ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ವಿಶೇಷವಾಗಿ ಹಿಂದೆ MyISAM ಕೋಷ್ಟಕಗಳನ್ನು ಬಳಸಿದವು, "2" ಮೌಲ್ಯದೊಂದಿಗೆ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ (ಅಂದರೆ "ಬಫರ್ ಅನ್ನು ಡಿಸ್ಕ್‌ಗೆ ಫ್ಲಶ್ ಮಾಡಬೇಡಿ, OS ಸಂಗ್ರಹಕ್ಕೆ ಮಾತ್ರ"). ಆದಾಗ್ಯೂ, ಲಾಗ್ ಅನ್ನು ಇನ್ನೂ ಪ್ರತಿ 1-2 ಸೆಕೆಂಡ್‌ಗಳಿಗೆ ಡಿಸ್ಕ್‌ಗೆ ಫ್ಲಶ್ ಮಾಡಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಅಪಘಾತದ ಸಂದರ್ಭದಲ್ಲಿ ನೀವು ಗರಿಷ್ಠ 1-2 ಸೆಕೆಂಡುಗಳ ನವೀಕರಣಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ. "0" ನ ಮೌಲ್ಯವು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ, ಆದರೆ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸುವಾಗ mySQL ಸರ್ವರ್ ಕ್ರ್ಯಾಶ್ ಆಗಿದ್ದರೂ ಸಹ ನೀವು ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳುವ ಅಪಾಯವಿದೆ innodb_flush_log_at_trx_commit"2" ನಲ್ಲಿ ಸಂಪೂರ್ಣ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಕ್ರ್ಯಾಶ್ ಆಗಿದ್ದರೆ ಮಾತ್ರ ನೀವು ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.
  • ಟೇಬಲ್_ಸಂಗ್ರಹ- ತೆರೆಯುವ ಕೋಷ್ಟಕಗಳು ಸಾಕಷ್ಟು ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, MyISAM ಕೋಷ್ಟಕಗಳು .MYI ಫೈಲ್‌ಗಳ ಹೆಡರ್‌ಗಳನ್ನು "ಪ್ರಸ್ತುತ ಬಳಕೆಯಲ್ಲಿದೆ" ಎಂದು ಗುರುತಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಕೋಷ್ಟಕಗಳನ್ನು ಆಗಾಗ್ಗೆ ತೆರೆಯುವುದು ಒಳ್ಳೆಯದಲ್ಲ, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಎಲ್ಲಾ ಕೋಷ್ಟಕಗಳನ್ನು ತೆರೆದಿಡಲು ಸಾಕಷ್ಟು ದೊಡ್ಡ ಸಂಗ್ರಹವನ್ನು ಹೊಂದಿರುವುದು ಉತ್ತಮವಾಗಿದೆ. ಇದು ಕೆಲವು OS ಸಂಪನ್ಮೂಲಗಳು ಮತ್ತು RAM ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದರೆ ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಆಧುನಿಕ ಸರ್ವರ್‌ಗಳಲ್ಲಿ ಗಮನಾರ್ಹ ಸಮಸ್ಯೆಯಾಗಿರುವುದಿಲ್ಲ. ನೀವು ಹಲವಾರು ನೂರು ಕೋಷ್ಟಕಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನಂತರ ಆಯ್ಕೆಯ ಆರಂಭಿಕ ಮೌಲ್ಯ ಟೇಬಲ್_ಸಂಗ್ರಹ"1024" ಆಗಿರಬಹುದು (ಪ್ರತಿಯೊಂದು ಸಂಪರ್ಕಕ್ಕೆ ತನ್ನದೇ ಆದ ಹ್ಯಾಂಡಲ್ ಅಗತ್ಯವಿದೆ ಎಂಬುದನ್ನು ನೆನಪಿಡಿ). ನೀವು ಇನ್ನೂ ಹೆಚ್ಚಿನ ಕೋಷ್ಟಕಗಳು ಅಥವಾ ಬಹಳಷ್ಟು ಸಂಪರ್ಕಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನಿಯತಾಂಕದ ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚಿಸಿ. ನಾನು ಮೌಲ್ಯದೊಂದಿಗೆ mySQL ಸರ್ವರ್ ಅನ್ನು ನೋಡಿದೆ ಟೇಬಲ್_ಸಂಗ್ರಹ 100,000 ಗೆ ಸಮಾನವಾಗಿರುತ್ತದೆ.
  • ಥ್ರೆಡ್_ಸಂಗ್ರಹ- ಥ್ರೆಡ್‌ಗಳನ್ನು ರಚಿಸುವುದು/ನಾಶ ಮಾಡುವುದು ಸಹ ಸಂಪನ್ಮೂಲ-ತೀವ್ರ ಕಾರ್ಯಾಚರಣೆಯಾಗಿದ್ದು ಅದು ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಿದಾಗ ಮತ್ತು ಪ್ರತಿ ಸಂಪರ್ಕವು ಮುರಿದುಹೋದಾಗ ಸಂಭವಿಸುತ್ತದೆ. ನಾನು ಸಾಮಾನ್ಯವಾಗಿ ಈ ಆಯ್ಕೆಯನ್ನು 16 ಕ್ಕೆ ಹೊಂದಿಸುತ್ತೇನೆ. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಏಕಕಾಲೀನ ಸಂಪರ್ಕಗಳ ಸಂಖ್ಯೆಯಲ್ಲಿ ಮತ್ತು ವೇರಿಯಬಲ್ ಮೂಲಕ ಜಿಗಿತಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಥ್ರೆಡ್‌ಗಳು_ಸೃಷ್ಟಿಸಲಾಗಿದೆಎಳೆಗಳ ಸಂಖ್ಯೆಯಲ್ಲಿ ತ್ವರಿತ ಹೆಚ್ಚಳವನ್ನು ನೀವು ನೋಡಿದರೆ, ನೀವು ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚಿಸಬೇಕು ಥ್ರೆಡ್_ಸಂಗ್ರಹ. ಸಾಮಾನ್ಯ ಸರ್ವರ್ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ ಹೊಸ ಎಳೆಗಳನ್ನು ರಚಿಸುವುದನ್ನು ತಡೆಯುವುದು ಗುರಿಯಾಗಿದೆ.
  • query_cache_size- ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಬಹಳಷ್ಟು ಮತ್ತು ಆಗಾಗ್ಗೆ ಡೇಟಾವನ್ನು ಓದುತ್ತಿದ್ದರೆ ಮತ್ತು ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಮಟ್ಟದ ಸಂಗ್ರಹವನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ, ಈ ಆಯ್ಕೆಯು ತುಂಬಾ ಸಹಾಯಕವಾಗಬಹುದು. ಈ ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚು ಹೊಂದಿಸಬೇಡಿ, ಏಕೆಂದರೆ ದೊಡ್ಡ ಪ್ರಶ್ನೆ ಸಂಗ್ರಹವನ್ನು ನಿರ್ವಹಿಸುವುದು ಸ್ವತಃ ದುಬಾರಿಯಾಗಿದೆ. ಶಿಫಾರಸು ಮಾಡಲಾದ ಮೌಲ್ಯವು 32 ರಿಂದ 512 MB ವರೆಗೆ ಇರುತ್ತದೆ. ಪ್ರಶ್ನೆ ಸಂಗ್ರಹವನ್ನು ಎಷ್ಟು ಚೆನ್ನಾಗಿ ಬಳಸಲಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಲು ಮರೆಯಬೇಡಿ - ಕೆಲವು ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ (ಸಂಗ್ರಹದಲ್ಲಿ ಕಡಿಮೆ ಸಂಖ್ಯೆಯ ಹಿಟ್‌ಗಳೊಂದಿಗೆ, ಅಂದರೆ ಯಾವುದೇ ಒಂದೇ ರೀತಿಯ ಡೇಟಾವನ್ನು ಪಡೆಯದಿದ್ದಾಗ) ದೊಡ್ಡ ಸಂಗ್ರಹವನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕುಗ್ಗಿಸಬಹುದು.
ನೀವು ನೋಡುವಂತೆ, ಇವು ಜಾಗತಿಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳಾಗಿವೆ. ಈ ಅಸ್ಥಿರಗಳು ಸರ್ವರ್ ಹಾರ್ಡ್‌ವೇರ್ ಮತ್ತು ಬಳಸಿದ MySQL ಎಂಜಿನ್‌ಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ, ಆದರೆ ಸೆಷನ್ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಗಳಿಗಾಗಿ ನಿರ್ದಿಷ್ಟವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತದೆ. ನೀವು ಹೆಚ್ಚಾಗಿ ಸರಳ ಪ್ರಶ್ನೆಗಳನ್ನು ಬಳಸಿದರೆ, ನಂತರ ಮೌಲ್ಯವನ್ನು ಹೆಚ್ಚಿಸುವ ಅಗತ್ಯವಿಲ್ಲ ವಿಂಗಡಿಸು_ಬಫರ್_ಗಾತ್ರ, ನೀವು ಹೆಚ್ಚುವರಿ 64 GB RAM ಅನ್ನು ಹೊಂದಿದ್ದರೂ ಸಹ. ಇದಲ್ಲದೆ, ದೊಡ್ಡ ಸಂಗ್ರಹ ಮೌಲ್ಯಗಳು ಸರ್ವರ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಮಾತ್ರ ಕೆಡಿಸಬಹುದು. ಸರ್ವರ್ ಅನ್ನು ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡಲು, ನಂತರದ ಅವಧಿಯ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಬಿಡುವುದು ಉತ್ತಮ.

PS: mySQL ಅನುಸ್ಥಾಪನೆಯು ಹಲವಾರು ಪೂರ್ವ-ಸ್ಥಾಪಿತ my.cnf ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಬರುತ್ತದೆ, ವಿವಿಧ ಲೋಡ್‌ಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಸರ್ವರ್ ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ನಿಮಗೆ ಸಮಯವಿಲ್ಲದಿದ್ದರೆ, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗಿಂತ ಅವುಗಳನ್ನು ಬಳಸುವುದು ಸಾಮಾನ್ಯವಾಗಿ ಉತ್ತಮವಾಗಿದೆ, ನಿಮ್ಮ ಸರ್ವರ್‌ನ ಲೋಡ್‌ಗೆ ಹೆಚ್ಚು ಸೂಕ್ತವಾದದನ್ನು ಆರಿಸಿಕೊಳ್ಳಿ.