День без новостей, часть тридцать пятая

27.02.2011 20:00 Slayer Moon
Печать
Нравится

Блог SMОчередная страшная история Вам на ночь, уважаемые читатели.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


В прошедшие понедельник и вторник с моим сайтом случились самые жёсткие/удручающие меня события технического плана, которые только были за всю его, сайта, историю. Все эти неприятности заставили меня забросить остальные дела и начать искать решение проблем как можно оперативнее, но не всё зависело от меня.

 

Итак, по-порядку что и как было, почему сайт не работал как надо и т.п. Первое, что случилось - это заглючил компонент образования красивых URL'ов страниц сайта, по неясной причине, после 7-8 месяцев безотказной работы, он стал конфликтовать с компонентом тегов, тем самым создавая огромную нагрузку на базу данных, в которой находится всё динамически изменяющееся содержимое сайта. Для тех, кто не знаком со строением современных сайтов я поясню - грубо говоря, сайт состоит из кучи файлов (все фотографии/картинки, использующиеся в материалах, архивы, данные компонентов сайта) на FTP и информации, содержащейся в базе данных (в которой содержится весь текст из статей, форума, комментов и куча чего ещё). Вот именно на базу данных создалась критическая нагрузка, из-за которой хостеру (компании, на сервере которой находится мой сайт) пришлось, в соответствии с подписанным договором о предоставлении соответствующих услуг, перенести сей ресурс на более медленный сервер (они его именуют резервным, я бы назвал его отстойником - там содержатся сайты, которые также создают немерянную нагрузку на ресурсы сервера, итого имеем общую медленную работу всех веб-ресурсов, что расположены на том сервере). Это сделано, чтобы вовсе не отключать сайт от доступа извне - такие действия предпринимаются для того, чтобы вебмастер (это я, как Вы понимаете) устранил причины, по которым нагрузка на их оборудование вырастает до неприличных (по их мнению) размеров. Или же пошёл по простому пути - переехал на более дорогой тариф или же вовсе на выделенный сервер. Тариф мне много формы бы не дал, а на сервер денег нет (просят безумные 6.5 тысяч в месяц!), потому мой вариант - снижать нагрузку, оптимизировать сайт всеми способами.

 

Что я сделал для снижения нагрузки? Я отключил компонент тегов, это отчасти помогло, хоть и лишило меня с Вами более удобной навигации по материалам сайта. Мера вынужденная, но пока (надеюсь, что в будущем удастся их вернуть) приходится приносить в жертву юзабилити (удобство пользования) сайта, лишь бы он работал. Далее я переформировал кеш красивых URL'ов, что заняло довольно много времени и привело к немалому количеству проблем типа "Ошибка 404" (страница не найдена). К моей радости, камрады с форума помогли обнаружить некоторое количество неработающих страниц, за что им большой респект! Страницы я поправил и теперь всё более-менее нормально (а если найдёте ещё 404 - пишите на форум или в личку/через контакты). Далее, ради оптимизации скорости загрузки сайта и уменьшения количества запросов к базе данных, я отключил некоторые модули сайта ("статистика посещений", "добавить в закладки" и некоторые другие) - надеюсь это никого не расстроило. Плюс к этому я похимичил, в силу своих скромных знаний, с Java скриптами портала (некоторые из них объединил в один большой файл, чтобы уменьшить запросы к базе) и CSS файлами, это также дало плюс к скорости и ещё кое-что, о чём не вебмастеру вряд ли будет интересно узнать (улучшился статус сайта по мнению Yslow и Page Speed). Хотя я не уверен, что и это всё Вам интересно читать, камрады. Но раз уж я взялся объяснять что к чему, придётся потерпеть. Также я удалил все неиспользуемые компоненты сайта, его плагины и прочее, что также могло создавать нездоровую нагрузку на БД моего скромного веб-ресурса. Но и это ещё не всё - я несколько улучшил кеширование сайта целиком и потому для незарегистрированных (и зарегистрированных, но не залогиненных) посетителей он грузится в считанные секунды, по крайней мере какая-то его часть. Как работает кеширование? Представьте, что сайт - это динамическая страница данных, она требует большой мощи для обработки, т.к. многократно обращается к базе данных. А та же самая веб-страница в кешированном виде (можно считать - сохранённая в виде одной страницы, где ничего не генерируется в реальном времени, а просто выдаётся в готовом виде юзеру, как текстовый файл) серьёзных ресурсов не требует, к базе не обращается, а значит грузится быстро. Так как основная масса посетителей в день - это незалогиненные юзеры, попавшие на сайт откуда-нибудь (например с гугла и других поисковиков), то им выдаются готовые (кешированные) страницы, тем самым значительно понижая ресурсные затраты сервера.

Далее я связался с техподдержкой хостера и узнал как активировать механизм кеширования запросов к базе данных, называемый APC. Я его включил вчера поздно вечером и до сих пор постоянно слежу за нагрузкой, пока неясно - есть положительный результат или же его нет, хотя я надеюсь на лучшее (пришлось прочесть много материала и в большинстве случаев отзывы хорошие об этой штуке). Ещё думал сделать все статичные картинки из меню и форума (смайлы там всякие) в виде CSS-спрайтов (это когда, скажем, 50 картинок-смайлов грузятся из одного файла с пятьюдесятью смайлами в нём, а не из 50 разных файлов), что также должно благоприятно повлиять на скорость загрузки страниц. Другое дело, что в этом направлении мои знания стремятся к нулю и я не знаю, кто мог бы мне в этом помочь Frown

 

 

Как Вы понимаете, тратя огромное количество времени на решение всех этих срочных проблем, я не мог в полную силу работать над контентом сайта. Обещаю, что как только вопрос с нагрузками будет полностью улажен и сайт снова перенесут на быстрый сервер (это будет ощущаться, точно говорю - с учётом проделанной мною работы по оптимизации) я буду далее наполнять сайт большим количеством интересного материала, как это было ранее.

 

Прошедшая неделя порадовала нас несколькими обзорами и тестами. Кому интересны вентиляторы непривычного (людям, не имеющими дел с СВО) типоразмера - можно почитать занимательный материал от MaxOblivion по Triebwerk TK-121 и TK-122. Slava_27 показал нам прелести бюджетного (и не фуфлового при этом, что самое удивительное!) корпуса GMC Cannon R-5. Я нашёл время лишь на два пересказа - по видяшке Sapphire Radeon HD 6870 Flex, практически ничем не примечательному решению, и очень интересному (соотношением стоимость/производительность) твердотельному накопителю OCZ Vertex 3. С нетерпением жду других представителей нового поколения SSD, хочется увидеть продукцию Indilinx, Crucial и конечно же Intel.

 

 

 

На следующей неделе я сообщу Вам, камрады, о результатах оптимизации сайта - переведут ли его на быстрый сервер, удастся ли ещё что-то улучшить и так далее. Никуда не уходите, увидимся тут же, через ~7 дней. До встречи !

 

 

Понравился материал "У SM"?

Поделись им с другими:
       

Теги:
 
Последние материалы на сайте: