Ограничение запроса к серверу на странице - PullRequest
3 голосов
/ 25 мая 2011

Я думаю, что каждый проходит через эту проблему. На своей странице я использую jQuery, jQuery UI и многие плагины, и обычно все эти плагины, включая UI, имеют свой отдельный CSS. Кроме того, у меня есть привычка разделять мой CSS согласно модулю в разных файлах.

Итак, теперь, когда я загружаю страницу, он запрашивает у сервера как минимум 30 дополнительных ресурсов, включающих styles и scripts, не забывая includes и requires PHP. На более медленных компьютерах (под этим я говорю системы с 1 ГБ памяти, что должно быть более чем достаточно, я думаю), мои страницы работают медленно даже на локальном сервере.

Теперь это действительно неприемлемо, и мне нужно серьезное предложение по исправлению этой проблемы.

Ответы [ 4 ]

1 голос
/ 25 мая 2011

Да. Вероятнее всего. Всегда существует баланс между эффективностью и модульностью для развития. Идеальный xhtml для доставки клиенту, вероятно, будет содержать единую комбинированную и минимизированную версию ваших ресурсов CSS и такую ​​же для ваших ресурсов js, но работа с этим в процессе разработки будет ужасной.

Для борьбы с этим я использую сценарий, который запускается на серверах развертывания во время операции перезапуска и выполняет запросы xpath, чтобы найти все ссылки на css в моих шаблонах представления. Затем он знает, где найти их на сервере, находит их, затем объединяет в один, минимизирует их и сохраняет один объединенный файл в файловой системе. Затем сценарий переписывает шаблон представления, чтобы ссылаться только на этот единственный ресурс. Это хорошо, потому что вам не нужно думать об этом при разработке, но вы все равно получаете производительность во время развертывания. Я до сих пор не решил проблему неиспользованных ссылок CSS ...

Одна вещь, на которую вы можете посмотреть, это mod_pagespeed:

http://code.google.com/speed/page-speed/docs/module.html

1 голос
/ 25 мая 2011

Если веб-сайт работает медленно для конечных пользователей, вам необходимо выяснить, почему именно.

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

Обрежьте количество ненужного Javascript и тому подобное, что вы включаете. Если вы заметили снижение производительности на клиенте, то причиной может быть Javascript. Вам нужна вся библиотека JQuery? Вы используете все это? А как насчет плагинов?

Как настроен ваш сервер? Используете ли вы кеширование для PHP?

Можете ли вы объединить свой CSS из множества файлов в один? Вам все это нужно?

Вам также следует изучить использование require и include, поскольку они могут повлиять на производительность.

0 голосов
/ 25 мая 2011

Попробуйте сжатие GZIP для CSS и JS.Вам просто нужно несколько файлов htaccess, и он сжимает все CSS и JS по всему сайту, когда загружается в браузер.

0 голосов
/ 25 мая 2011

Вы смешиваете разные вещи: includes и requires не приводят к дополнительным запросам и не замедляют работу страниц.

Кроме того, ваши страницы работают медленно (возможно, слишком много JavaScript?) Или они загружаются медленно (слишком много запросов?). В случае второго, первое, что нужно сделать, - это объединить разные файлы CSS и JS в один файл CSS и один файл JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...