Оптимизация страниц

Оптимизация страниц

Один из самых важных аспектов работы сайта – это скорость его загрузки; пользователи хотят мгновенно получать необходимую им информацию, а не ждать, пока страница загрузится. Речь идёт не только о загрузке на стороне клиента, но и простое, пока выполнятся серверные скрипты. Сам недавно столкнулся с этой проблемкой, поэтому немного поразглагольствую на эту тему.

Речь пойдёт об одном моём проекте, а именно о сайте по игре Divine Divinity. Есть там страничка с описанием игровых навыков и заклинаний. Думаю, и так понятно, что при обращении к странице выполняются серверные скрипты, в которых идёт работа с немалым объёмом информации, прогоняются циклы, работа с базой. Хоть php и оптимизированный язык и справляется с этим, но нет смысла нагружать его лишний раз. К тому же, выдача информации по необходимому навыку (при наведении), осуществляется за счёт AJAX запроса с серверу и дальнейшим отображением.

Всё в принципе работало отлично, но, во-первых, свои детища надо всегда до ума доводить, а во-вторых, за чрезмерную нагрузку на сервер, хостер может и заблочить аккаунт :D. Было принято решение об оптимизации странички. Для этого я производил замеры работы серверных скриптов и AJAX запросов.

Зная количество времени, которое тратится на загрузку страниц, вы сможете определить проблемные места. Также это придаст вам ещё один стимул, для того чтобы залезть в функционал и постараться исправить ситуацию. Мне очень помог аддон YSlow и FireBug конечно же.

С помощью них можно посмотреть временные затраты на все части страницы и в дальнейшем оптимизировать как-то. В моём случае, каждый аякс запрос занимал 500-900 мс. Взвесив всё, я решил эту страницу захэшировать. Весь контент грузить сразу html куском без работы лишней в php. Саму то страницу захэшировать легко, но вот данные, хранящиеся в JS сложновато) В итоге написал на php скриптик, который генерит JS массивы и выводит их, а затем всё это дело в хэш добавил. Теперь и на сервере нагрузка в разы уменьшилась, и на клиентской стороне нет никаких лишний запрос и всё летает на ура :3

К чему этот пост?

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

P.S. Кстати, могу предложить сайт для тех, кому необходима разработка и продвижение сайтов. Создание программного обеспечения.

  Категории: JavaScript, php, Оптимизация