Овърклок на WordPress до скоростта на светлината

сървъра
Скоростта и устойчивостта на грешки са един от факторите, които неизменно влияят върху популярността на вашия ресурс, защото дори и с най-доброто съдържание в света, бавният сайт ще дразни читателите и рано или късно ще ги загубите. В тази статия ще оптимизираме най-популярната машина за блогове, WordPress. И в същото време вземете под внимание няколко общи точки при оптимизирането на уебсайта.

1 Тестване на текущата скорост

За да разберете дали нещо се е променило след нашата оптимизация, не пречи първо да измерите текущата скорост на зареждане на страниците на блога, за да има с какво да се сравнява. Има няколко инструмента, които да ви помогнат да направите това:

1.1 Pingdom

Pingdom провежда бърз и визуален тест на скоростта на зареждане на всички елементи на страницата и представя резултатите под формата на удобна диаграма, където можете да видите кои елементи от сайта се зареждат по-бавно от необходимото и други проблемни области.

светлината
Бенчмарк habrahabr.ru.

YSlow е плъгин за Firefox, който се интегрира с може би най-добрия плъгин за уеб разработчици, Firebug. Той анализира повече от 20 фактора, които влияят на скоростта на сайта и оценява цялостната ефективност по 100-точкова система, като всеки отделен елемент се оценява от A до F.

скоростта

1.3 Брой заявки и време за тяхното изпълнение

Като вмъкнете малка част от PHP код, можете да покажете броя на заявките за база данни и времето, прекарано за тяхното изпълнение в долния колонтитул.

2 Уеб хостинг

Вярвате или не, уеб хостингът е един от най-важните детайли, които влияят на ефективността на един блог. Без да навлизаме в подробности, ето една много проста характеристика на най-популярните видове хостинг, която ще ви помогне грубо да оцените натоварването на сървъра:

* Споделен хостинг - един сървър можеприемат средно около 100 души; * VPS – около 20 души могат да бъдат хоствани на един сървър; * Специализиран - сървърът ще се използва само от вас.

Това, разбира се, не означава, че не можете да ускорите блог, работещ на споделен хостинг (споделен хостинг), но си струва да запомните, че колкото по-висока е производителността, толкова повече ресурси имаме на наше разположение.

Географското местоположение на сървъра също играе важна роля, така че винаги трябва грубо да представяте целевата си аудитория. Например, ако това са българоговорящи потребители, не трябва да купувате американски хостинг и т.н.

3 Инсталиране и конфигуриране на сървъра

Уверете се, че планираното натоварване отговаря на капацитета на сървъра и той ще може да се справи с него. На първо място, това ще зависи от размера на RAM и процесора. По правило WordPress е инсталиран на Apache, но съществуват много успешни решения, базирани на други http сървъри: nginx, lighttpd и др.

Не забравяйте да актуализирате до най-новата версия на PHP и Apache.

3.1 Деактивирайте неизползваните услуги

Можете да получите повече налична RAM, като деактивирате неизползваните услуги и оптимизирате MySQL и Apache.

* Премахване на ClamD; * Задайте SpamD да използва само 1 дъщерен процес; * Деинсталирайте Mailman, освен ако не възнамерявате да стартирате пощенска услуга.

3.2 Кеш на заявките на MySQL

Тъй като стабилността и скоростта на WordPress зависят доста от базата данни, струва си да се уверите, че настройките вmy.cnf съответстват на възможностите на сървъра. Първата стъпка е да зададете настройките за кеширане на заявки, като добавите следните редове къмmy.cnf :

За да влязат в сила настройките, ще трябва да рестартирате услугата MySQL.

3.3 Кеш паметкомпилатор: XCache или Eaccelerator?

Кешът на компилатора подобрява производителността на компилираните скриптове на сървъра, като ги кешира - това ще помогне за намаляване на времето за изпълнение на PHP скриптовете. Струва си да опитате и двете решения, но според резултатите от експериментите увеличението на производителността с Xcache е с 5% по-високо, отколкото с Eaccelerator.

3.4 Увеличете максималния брой връзки на Apache

Увеличаването на максималния брой връзки вhttpd.conf ще подобри производителността като сървърът ще може да обработва повече връзки наведнъж. Въпреки това, трябва внимателно да промените тази настройка, за да не изчерпите цялото количество RAM и да не забавите сървъра, така че винаги тествайте новите настройки, преди да ги пуснете в експлоатация. Нека инсталираме например 150 връзки:

Не забравяйте да рестартирате услугата Apache, за да приложите настройките.

4 Оптимизация на кода и графиката

Така че сървърът е готов и работи и сега е време да си поиграете с кода на WordPress.

4.1 Деактивирайте горещите връзки

Всеки път, когато използвате вашия сървър за съхраняване на изображения, вие използвате неговите ресурси значително повече. Доста често хората заемат вашите изображения, като ги свързват на своите сървъри. Това не само заема канала, но и създава известно натоварване на сървъра. Добавете следния код към вашия файл.htaccess, като заменитеexample.com с името на вашия домейн, за да деактивирате горещите връзки:

4.2 Използвайте външен хостинг за съхраняване на изображения

Хостирането на изображения на външни сървъри може значително да намали натоварването на сървъра. В примера по-долу можете да видите спада в използването на RAM в един от блоговете след мигриране на изображения към Amazon S3.

овърклок

4.4 Javascript в горната част на страницата

Често се случва сайтът да започне да се зарежда бавно или изобщо да спре, т.к. друг ресурс, от който се извиква javascript (например Digg значки, Tweetmeme и т.н.), не е наличен или офлайн. За да избегнете това, преместете целия javascript код в края на страницата и ако по някаква причина не е възможно да го извадите, опитайте да го опаковате в iFrame.

4.5 Използвайте кеша на браузъра

Сам по себе си кешът на браузъра няма да направи вашия блог по-бърз, но ще помогне за намаляване на натоварването на сървъра чрез кеширане на често зареждани обекти (стилове, елементи на интерфейса и т.н.). Опитайте да поставите следния код във вашия файл.htaccess :

Можете да намалите размера на изтеглената страница, като позволите на браузъра да получава и предава данни в компресирана форма. Това също ще намали натоварването на канала и количеството изтеглени данни. Следният код в .htaccess може да ви помогне с това:

4.7 Използвайте CDN за статични файлове

Ако съхранявате всички изображения в един и същ домейн, тогава браузърът ще изчака те да бъдат изтеглени едно по едно. Да приемем, че имате 12 от тях на страницата, ако ги разделите между три поддомейна, те ще бъдат заредени едновременно от три „различни“ източника, вместо да бъдат заредени от браузъра на свой ред от един. Можете да опитате да мигрирате всички css & javascript файлове къмfiles.yoursite.com и изображения и временни файлове къмstatic.yoursite.com. Или просто използвайте CDN (Content Delivery Network) - голяма мрежа от сървъри, разположени по целия свят, която ще ви позволи не само да съхранявате вашите файлове на различни поддомейни и следователно да ги изтегляте паралелно, но също така да доставяте данни на потребителя от най-близкия до него сървър. Всичко това ще ви позволи да изтеглите даннимного по-бързо.

5 WordPress

В тази част на статията ще разгледаме подобрения в производителността, които могат да бъдат приложени директно към WordPress.

5.1 Актуализирайте до най-новата версия

Надграждането до по-нови версии не само коригира откритите уязвимости, но и подобрява производителността. Например в wordpress 2.8 работата с базата данни е значително оптимизирана.

5.2 Деактивиране на ревизиите на публикациите

За да премахнете предишни запазени текстови ревизии, изпълнете следната заявка в PHPmyadmin:

5.3 Намалете броя на заявките

Премахнете ненужните заявки, за да ускорите генерирането на страници. Например, следното е типичен код, намиращ се във всички теми на wordpress:

Можем лесно да пренапишем на:

Вече две заявки по-малко. Доста просто, нали?

6 добавки за WordPress

И накрая, предлагам на вашето внимание няколко плъгина, които могат да подобрят работата на wordpress. След като всичко по-горе е направено, тези добавки ще ви помогнат да постигнете още по-добра производителност.

WP Super Cache Това е може би най-добрият плъгин за WordPress. WP Super Cache създава статични html версии на всяка страница и ги зарежда всеки път, като по този начин елиминира необходимостта от заявки към база данни. Това значително увеличава скоростта на зареждане на страницата и намалява натоварването на сървъра. Силно се препоръчва за монтаж.

PHP Speedy WP Този плъгин решава друг проблем, описан в тази статия - премахване на празно пространство в CSS & javascript. Въпреки това има някои проблеми със съвместимостта на този плъгин с WP Super Cache и освен това не е актуализиран от дълго време, така че използвайте на свой собствен риск.

Optimize DB Приставката ви позволява да оптимизиратеMySQL таблици без помощ от PHPmyadmin.