оптимизировать MySQL для WordPress

Thank you for reading this post, don't forget to subscribe!

Эффек­тив­ность настрой­ки MySQL может очень силь­но вли­ять на про­из­во­ди­тель­ность рабо­ты сай­та на WordPress. Посколь­ку WordPress исполь­зу­ет InnoDB таб­ли­цы, нам необ­хо­ди­мо настро­ить MySQL сер­вер под опти­маль­ную рабо­ту с ними. Открой­те файл my.cnf (обыч­но /etc/my.cnf) и изме­ни­те сле­ду­ю­щие настрой­ки. В нашем слу­чае кон­фи­гу­ри­ру­ем MySQL для сер­ве­ра с 1 ядром и 512Мб опе­ра­тив­ной памя­ти, на кото­ром рабо­та­ет еще и PHP и MySQL.

Мак­си­маль­ное коли­че­ство соеди­не­ний сле­ду­ет под­би­рать под нагруз­ку и коли­че­ство ядер, но луч­ше начать с 64.

Этот пара­метр нуж­но уста­но­вить в 70…80% доступ­ной опе­ра­тив­ной памя­ти. В нашем слу­чае часть памя­ти будет исполь­зо­ва­на под PHP и Nginx.

Этот пара­метр поз­во­ля­ет опти­ми­зи­ро­вать рабо­ту с запи­сью InnoDB таб­лиц на диск. Вме­сто доро­гих опе­ра­ций сбро­са лога на диск после каж­дой тран­зак­ции, MySQL будет сбра­сы­вать лог в опе­ра­ци­он­ный кеш.

Коли­че­ство пото­ков (тре­дов), кото­рые будут хра­нить­ся в кеше. Нуж­но сле­дить за ростом созда­ва­е­мых потоков.

Общий раз­мер кеша и его лимит для каж­до­го запро­са. Так­же сто­ит уве­ли­чи­вать по мере роста нагруз­ки и дан­ных. Осто­рож­но. Слиш­ком боль­шие зна­че­ния могут при­ве­сти к поте­ре производительности.

Более деталь­ная и тон­кая настрой­ка Mysql под нагруз­ки. Так­же посмот­ри­те видео по тюнин­гу MySQL для WordPress от Ильи Полихронова.