- 1. Які робіцца рэзервовую копію базы дадзеных
- 2. Адключаем рэвізіі пастоў і ўсталёўваны мінімальны тэрмін захоўвання аддаленых файлаў у кошыку
- 3. Выдаляны рэвізіі пастоў
- 4. Аптымізуем запісы ў wp-post
- 5. Які чысціцца wp-postmeta
- 6. Выдаляны спам-каментары
- 7. Выдаляны пингбеки
- 8. Адключаем пингбеки
- 9. Усталёўваны убудова Optimize DB
Прывітанне ўсім!
Сёння мы з вамі разгледзім такое паняцце, як аптымізацыя базы дадзеных mysql! Пра гэта я сам даведаўся зусім нядаўна і спяшаюся падзяліцца з вамі, бо інфармацыя, якую я вам цяпер распавяду вельмі каштоўная!
Для чаго ўсё гэта трэба? На што ўплывае? Як ўвасобіць у рэальнасць? На ўсе гэтыя пытанні я паспрабую даць выразны адказ у гэтым пасце!
А цяпер невялікая перадгісторыя. Увогуле, нядаўна атрымаў ліст на свой e-mail адрас, наступнага зместу:
На працягу апошніх 3 дзён сярэдні ўзровень нагрузкі, які ствараецца Вашым акаўнтам *******, склаў 119% ад дапушчальнага ўзроўню Вашага тарыфнага плану. Мы рэкамендуем Вам перайсці на тарыфы VPS. Звяртаем Вашу ўвагу, што ў выпадку рэгулярнага перавышэння лімітаў, мы пакідаем за сабой права заблакаваць Ваш рахунак згодна з пунктам Дамовы ...
Абодва на, прыплылі - падумаў я ў той момант! Пагадзіцеся, не вельмі прыемна атрымліваць такія лісты. А так як з падобнага роду праблемай я сутыкнуўся ўпершыню, уяўляеце, у якім я быў няпэўнасьці? Мойму абурэнню не было мяжы! Які нафіг VPS? Я можна сказаць толькі абжыўся на адным тарыфе, а мне тут прапануюць перайсці на віртуальны хостынг, які ў тры разы даражэй. Ну нет уж хлопцы, - думаю я, - яшчэ ранавата.
Пішу ў обратку ліст мойму хостеру, з просьбай патлумачыць мне, з якога гэта перапуду ў мяне зашкальвае нагрузка? Бо майго блога усяго-то два з невялікім месяца ад роду. Ды і наведвальнасць не вялікая. Увогуле, пішу, што катэгарычна супраць пераходзіць на VPS, лічу, што гэта не мэтазгодна на гэтак раннім этапе развіцця рэсурсу і прашу паказаць мне на мае памылкі, што з імі рабіць і як у далейшым іх кантраляваць!
У адказ атрымліваю наступнае:
Паважаны абанент, мы вас не збіраемся адключаць менавіта цяпер, гэта банальнае папярэджанне, але маўляў трэба з гэтым, нешта рабіць. Праблема перавышэння нагрузкі не залежыць наўпрост ад наведвальнасці, а ў большай ступені залежыць ад ня правільнай аптымізацыі вашага рэсурсу. Для адсочвання нагрузкі мы вам вывелі ў панэлі кіравання лічыльнік, які абнаўляецца кожныя 10 хвілін:
Ну дзякуй за тлумачэнні, - думаю сам сабе. Пайду вывучаць праблему. Набраўшы ў інтэрнэце запыт «як знізіць нагрузку на хостынг» зразумеў, што я не адзін такі, а на самай справе праблема даволі актуальная. І рана ці позна закране многія. Азнаёміўшыся больш дэталёва з праблемай, зразумеў, што ў мяне ёсць два выйсця з дадзенай сітуацыі:
- Звярнуцца па дапамогу да прафесіяналаў (фрылансерам), заплаціўшы ім пэўную суму грошай, што заўсёды паспее.
- Пастарацца ліквідаваць праблему самому.
Дык вось, я выбраў другі варыянт і скажу вам шчыра, пакуль што ні на грам не пашкадаваў. Мне ўдалося знізіць нагрузку на хостынг у два-тры разы. Вось паглядзіце самі:
Розніца, на твар! Зараз я вам пакажу і раскажу, што я для гэтага зрабіў:
- аптымізаваў базу дадзеных mysql, што істотна адбілася на зніжэнні нагрузкі на хостынг і паскарэнні wordpress;
- пазбавіўся ад парадку 8 непатрэбных убудоў.
- паскорыў wordpress, адрэдагаваўшы некалькі файлаў тэмы свайго блога.
Бо матэрыял даволі такі аб'ёмны, я вырашыў разбіць яго на тры часткі. З гэтага артыкула вы даведаецеся, як знізіць нагрузку на хостынг за кошт аптымізацыі базы дадзеных. У наступным артыкуле я вам раскажу, як замяніць частка убудоў кодамі . І апошні артыкул будзе на тэму паскарэння блога . Калі я ўсё гэта прарабіў са сваім рэсурсам, я быў у шоку над тым, як мой блог стаў грузіцца! У параўнанні з тым, што было - ён стаў лятаць.
Увогуле, матэрыял, які вы запазычыце з гэтых трох пастоў, будзе ну проста ачмуральны. Не прапусціце,!
Перш чым вы пачнеце вырабляць розныя дзеянні з базай дадзеных, абавязкова рабіце рэзервовую копію. Каб у выпадку ўзнікнення праблем можна было ўсё хуценька аднавіць. База даных змяшчае ўсю гісторыю вашага рэсурсу, у ёй захоўваюцца ўсе запісы, прысутныя на вашым блогу! А наогул, раю вам ўзяць за правіла захоўваць базу дадзеных кожны дзень! Гэта ў вас зойме літаральна 1 хвіліну, але затое вы будзеце заўсёды спаць спакойна. Самі разумееце можа здарыцца ўсякае.
1. Які робіцца рэзервовую копію базы дадзеных
Для зручнасці злучэння з серверам і апрацоўкі дадзеных я карыстаюся FTP - кліентам FileZilla . Вельмі класная штука, як-небудзь напішу пра гэта кліенце асобны пост,. Увогуле, вам трэба перайсці на свой сервер і знайсці ў ім ўкладку «Базы даных» або «Базы дадзеных MySQL», што-то ў гэтым родзе. На кожным серверы база дадзеных ёсць, пры пераходзе сервер можа запытаць пароль. Ён у вас павінен быць. Пры куплі хостынгу пароль прадастаўляецца.
У выніку вы павінны апынуцца вось на такі старонцы, phpMyAdmin:
Заходзіце ў базу дадзеных, клікнуўшы па яе назве. Перад вамі адкрыецца табліца базы дадзеных (клікніце для павелічэння):
Націскаеце «Экспарт» і «ОК». Захоўваеце на сваім ПК. Усе, база дадзеных захавана, цяпер можам пачынаць яе аптымізацыі. Звярніце ўвагу, калі на вашым хостынгу прысутнічае полі «Захаваць як файл» не забудзьцеся насупраць яго паставіць галачку! А таксама запомніце, колькі важыць ў дадзены момант ваша база дадзеных, а потым паглядзіце колькі яна будзе важыць пасля аптымізацыі.
У мяне яна важыла да аптымізацыі 26 Mb - гэта УЖАС, а што цяпер? А цяпер яна важыць усяго 2 Mb! Уяўляеце, колькі ўсякага непатрэбнага хламу яна ўтрымлівала ў сабе? Уяўляеце, якую нагрузку яна стварала на сэрвэры? Пасля аптымізацыі базы дадзеных, мой блог стаў лётаць, як рэактыўны самалёт! Увогуле, пасля таго як вы праробіце ўсё ніжэй апісаныя дзеянні, вы адчуеце істотную розніцу!
2. Адключаем рэвізіі пастоў і ўсталёўваны мінімальны тэрмін захоўвання аддаленых файлаў у кошыку
Што такое рэвізія пастоў? Калі вы пішыце пост у блог, wordpress аўтаматычна, праз пэўны прамежак часу, захоўвае рэзервовую копію кожнага паста ў базе дадзеных, увогуле, робіць аўто захаванне. А цяпер уявіце калі вы напішыце 50 пастоў на блогу? Колькі копій пастоў у вас будзе захавана? Гэта ЖЕСТЬ! Пакуль вы пішыце пост, у вас ужо як мінімум праходзіць 10 аўто захаванняў!
Плюс да ўсяго гэтага, калі вы выдаляеце файлы, яны ў вас запасяцца ў кошыку, што таксама нагружае базу дадзеных. Вядома, добра калі вы адразу выдаліце файл і з каша, але часцяком здараецца, што многія пра гэта забываю, а некаторыя проста забіваюць! А гэта ой як не добра ... База усё расце, нагрузка на сервер ўсё больш і больш, блог грузіцца ўсё павольней і павольней ... Вы задумваліся, да якіх наступстваў гэта можа прывесці?
Вось асноўная частка наступстваў, але далёка не ўсіх: зніжэнне індэксацыі , Частыя адмовы, пагаршэнне паводніцкіх фактараў , Паніжэнне пазіцый у выдачы пошукавікаў ... А далей, аўтар у падае ў роспач ад ня апраўданых чаканняў. Жаданне весці блог з часам знікае і ўсё! Краху!
Усё гэта я да чаго кажу? За базай дадзеных увесь час трэба сачыць і ўтрымліваць яе ў належным стане. Зразумейце, база дадзеных - гэта як сэрца блога. Пры пастаяннай нагрузцы на сэрца не патрэбным хламам, з часам яно не вытрымае і спыніць! Я думаю, вы мяне зразумелі? Таму хопіць ужасцік і пераходзім да аптымізацыі базы дадзеных.
Такім чынам, адкрываем файл wp-config.php, ён знаходзіцца ў корані вашага блога, г.зн. ваш хостынг / httpdocs або public_html (у залежнасці ад хостынгу) /wp-config.php. І устаўляемы ў яго дзве радкі:
1 2 define ( 'WP_POST_REVISIONS', false); define ( 'EMPTY_TRASH_DAYS', 1);
Радок №1 адключае рэвізію пастоў, радок №2 азначае, колькі дзён будуць захоўвацца выдаленыя файлы ў вашай кошыку. Як бачыце, я паставіў «1», можна вядома паставіць і «0», але калі раптам па неасцярожнасці ў вас здрыганецца рука і вы націснеце на спасылку «выдаліць», усе - КАПЕЦ!
А пасля праседжванне за кампом 5-8 гадзін, паверце мне, гэта магчыма! Так што я аддаю перавагу пакінуць лічбачкі «1». Вядома, пасля выдалення файла лепш адразу ж пачысціць кошык ўручную, але калі нават вы забудзецеся гэта зрабіць, праз суткі файл з каша аўтаматычна выдаліцца! Вось як гэта выглядае ў мяне:
З гэтым разабраліся, ідзем далей.
3. Выдаляны рэвізіі пастоў
Калі ў папярэднім пункце мы адключылі рэвізію пастоў, то ў гэтым пункце нам трэба выдаліць усе рэвізіі пастоў, назапашаныя за ўвесь час вядзення блога. Калі вы гэтага не разу не рабілі, то ў вас захавалася іх неверагодна вялікая колькасць! Давайце гэта зробім. Капіюем вось гэты радок:
DELETE FROM wp_posts WHERE post_type = "revision"
Пераходзім зноў у базу дадзеных MySQL, як апісана ў першым пункце. Заходзім ва ўкладку SQL, устаўляемы ў поле скапіяваную радок і націскаем «ОК»:
База дадзеных спытае:
Адказваем «АК» і глядзім, колькі не патрэбных рэвізій пастоў ўтрымоўвала ў сабе ваша база дадзеных, і колькі часу сыходзіла на тое, каб запыт апрацаваць. А кожная часцінка часу дае сваю нагрузку:
Я рабіў чыстку 3 дні таму, таму ў мяне яна яшчэ не абрасла рэвізіямі. Калі я першы раз пачысціў базу, у мяне было выдаленае аж 1800 з чымсьці радкоў! Уяўляеце, колькі копій непатрэбных пастоў у ёй захоўвалася? Ідзем далей.
4. Аптымізуем запісы ў wp-post
Папка wp-post ўтрымлівае усе запісы блога. Сапраўды гэтак жа як і ў папярэднім пункце, які капіюецца радок:
і устаўляемы ў поле SQL запыту. Націскаем «ОК», глядзім:
Усе, запыт выкананы!
5. Які чысціцца wp-postmeta
Што менавіта будзем чысціць? Папка wp-postmeta ўтрымлівае ў сабе:
- падчас апошняга рэдагавання якога-небудзь з пастоў. Значэння ніякага не мае, а нагрузку на сервер, якую ніякую, а дае;
- змест папярэдняга ЧПУ (Чалавека зразумелага Урла). Калі вы калі-небудзь мянялі пастаянную спасылку ў любым пасце. То пры змене яе, яна не выдаляецца, а асядае ў тэчцы wp-postmeta і нагружае вашу базу.
Робім усё тое ж самае, які капіюецца вось гэты код:
DELETE FROM `wp_postmeta` WHERE` meta_key` IN ( '_edit_lock', '_edit_last', '_wp_old_slug')
Вставляем яго ў поле запыту SQL, і ціснем «ОК». Глядзім на вынік:
ЧПУ спасылкі я не мяняў, а вось памылкі ў пасадах знаходзіў і пасля рэдагавання рабіў паўторнае захаванне, адсюль і 6 радкоў.
6. Выдаляны спам-каментары
Робіцца аналагічна, які капіюецца код:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
устаўляемы ў поле SQL запыту, ціснем «ОК», глядзім вынік:
Як вы бачыце "0". Пасля выканання гэтага запыту, вы забудзецеся пра спам каментары!
7. Выдаляны пингбеки
Пингбеки - гэта паведамленьня пра тое, што на ваш пост ці старонку хтосьці спасылаецца. Нам гэта не трэба, лішняя нагрузка! Выдаляем!
Капіюем код:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
Далей, усё тое ж самае.
8. Адключаем пингбеки
З мінулага пункта мы высветлілі, што пингбеки не нясуць ніякай карысці для нашага рэсурсу, а толькі яго засмечваюць. Таму давайце іх і зусім адключым. Капіюем гэты код:
UPDATE wp_posts p SET p .ping_status = 'closed'
а далей вы ўжо ведаеце, што рабіць!
Ну як вам такая чыстка? Спадабалася? А зараз паглядзіце, колькі стала важыць ваша база дадзеных пасля яе аптымізацыі? Прыкметна паменшыўся памер? А я вам казаў! Паглядзіце, як стаў грузіцца ваш блог! Ён павінен лётаць! Але і гэта яшчэ не ўсё на сёння. Зараз мы разгледзім яшчэ адзін апошні пункт, які таксама істотна палепшыць аптымізацыю.
9. Усталёўваны убудова Optimize DB
Пра гэта убудове я ўжо сцісла згадваў у гэтым пасце . Ну давайце больш падрабязна разгледзім, як ім карыстацца. Дадзены убудова, як вы ўжо здагадаліся, спрыяе аптымізацыі базы дадзеных! Запампуйце архіў з убудовай сабе на ПК, вось і актывуйце яго:
Далей пераходзім у панэль «Інструменты», выбіраем «Optimize DB» і націскаем «Optimize Now»
Усе, ваша база дадзеных аптымізавана дадаткова пры дапамозе плагіна:
Пасля аптымізацыі дэактывуе убудова, каб ён не нёс дадатковай нагрузкі на ваш рэсурс. І наогул, раю вам вырабляць ўсё вышэй апісаныя дзеянні з перыядычнасцю раз у месяц можна нават часцей. І тады ваш блог будзе грузіцца вокамгненна і нагрузка на сервер будзе мінімальнай.
А ў наступнай частцы паста, я вам пакажу, як замяніць частка не непатрэбных убудоў кодамі. Абавязкова, каб нічога не прапусціць. Гэта будзе магутны пост, пасьля якога ваш сервер будзе лёгкі як пярынка!
А на гэтым я з вамі буду развітвацца. На сёння ў мяне ўсё, жадаю ўсім поспехаў, і памятайце аптымізацыя базы дадзеных гэта каласальнае зніжэнні нагрузкі на ваш рэсурс. Всем пока і да хуткіх сустрэч.
І на последок порцыя прыколаў:
Ну як вам артыкул? Я ўпэўнены, што вы застанецеся задаволеныя пасля яе чытання і праробленых рэкамендацый са сваім рэсурсам! Чакаю вашых каментароў!
З павагай, Мікалай Караткоў
Для чаго ўсё гэта трэба?На што ўплывае?
Як ўвасобіць у рэальнасць?
А так як з падобнага роду праблемай я сутыкнуўся ўпершыню, уяўляеце, у якім я быў няпэўнасьці?
Які нафіг VPS?
Пішу ў обратку ліст мойму хостеру, з просьбай патлумачыць мне, з якога гэта перапуду ў мяне зашкальвае нагрузка?
У мяне яна важыла да аптымізацыі 26 Mb - гэта УЖАС, а што цяпер?
Уяўляеце, колькі ўсякага непатрэбнага хламу яна ўтрымлівала ў сабе?
Уяўляеце, якую нагрузку яна стварала на сэрвэры?
А цяпер уявіце калі вы напішыце 50 пастоў на блогу?