Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: клиент задолбал оптимизацией
 
 автор: elenaki   (09.05.2011 в 09:59)   письмо автору
 
 

сайт большой - объявления. таблиц много, т.к. все формы динамические - админ сам решает, какие поля и сколько их ему нужны. кроме того, из-за конфликтов разных javascript-библиотек, пришлось делать 4 разных шапки, в которых подключаются разные javascripts. у меня сайт не тормозит. по крайней мере, когда я захожу, нет ничего такого, что заставило бы уйти, не дожидавшись загрузки. на днях он мне прислал рекомендации (примерно как на webo.in). но применить их не получается.

1. объединить все ява-скрипты в один. зачем? какая разница - один большой или много маленьких? если они в кэше. а как потом блох искать, если где-то ошибка вылезет?

2. не масштабировать изображения в HTML. а это - не от хорошей жизни. клиент изменил дизайн, когда уже был готов скрипт загрузки фоток и было загружено несколько тысяч фоток. поменять скрипт недолго, но кто будет перезаливать все старые фотки?

3. поместить все стили вверху страницы (они и так вверху), а все java-скрипты внизу. фигвам! скрипты перестают работать!

4. самое непонятное - добавить к фоткам заголовки EXPIRES. это что за зверь? искала-искала, так и не нашла внятного объяснения.

5. там еще была рекомендация сжать все текстовые файлы, убрать лишние пробелы и переводы строк. но это тоже не годится. у клиента шило в одно месте, код приходится часто переделывать, доделывать, допoлнять и улучшать.

объясните, please, что такое EXPIRES HEADERS по отношению к фоткам и swf-кам.

  Ответить  
 
 автор: cheops   (09.05.2011 в 10:58)   письмо автору
 
   для: elenaki   (09.05.2011 в 09:59)
 

1. Смысл по производительности есть, но если ситуация такая, как вы описываете - это чистое самоубийство в плане сопровождения. Здесь уже следует думать о переработке всей системы, латать сборную солянку, которой 100 лет в обед - это очень дорогое удовольствие (сам имею таких парочку - масса времени уходит на то, чтобы туда что-то внедрить/переиначить на новые рельсы, об оптимизации тут говорить просто бессмысленно).
2. А пройтись по ним нельзя - масштабирование на лету, если оно осуществляется GDLib действительно жрет очень много.
4. Вероятно имеется в виду HTTP-заголовок
<?php 
header
("Expires: Mon, 23 May 1995 02:00:00 GMT"); 
?>
только назначать его придется средствами Apache, так как в случае PHP вероятно все еще больше замедлится.
5. В этом случае обычно используют исходные коды и код для публикации. Однако в конечном итоге все-равно дороже получится.

Все это косметические вещи, если нужно увеличить производительность на порядок, нужно архитектуру пересматривать и количество серверов увеличивать. Это выделенный сервер или уже пул серверов?

  Ответить  
 
 автор: elenaki   (09.05.2011 в 11:59)   письмо автору
1.7 Кб
 
   для: cheops   (09.05.2011 в 10:58)
 

я воткнула вот такой .htaccess в корневую папку. может, его надо было в папку с фотками поместить?

сервер у него выделенный, клиент сам его нашел, мы переносили сайт с нашего сервера на его.

  Ответить  
 
 автор: Lelik   (09.05.2011 в 16:22)   письмо автору
 
   для: elenaki   (09.05.2011 в 09:59)
 

1. Суть объеденения в том, чтобы уменьшить количество запросов к серверу для получения файлов, а это в свою очередь ускорит клиенскую загрузку в браузер (тут аналогия рисунки-спрайты).

3. скорее всего, по коду вызываются функции ещё до состояния, которое jQuery определяет как $(document).ready.
Скорее всего что-то типа такого есть по коду:

<script>
funct();
//стоить заменить на, что-то типа: $(document).ready(function(){ funct(); })
</script>


4. Это заголовки, которые говорят браузеру на какое время кешировать картинки и остальную муть. Я применяю следующие условия в .htaccess:

#кеширование картинок, скриптов и стилей
ExpiresActive On
### Expire .gif's 1 month from when they're accessed
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A2592000


5. тут надо держать исходные библиотеки в неизменном виде и жать только те, которые применяются на "живом" сайте.

  Ответить  
 
 автор: antf   (09.05.2011 в 21:36)   письмо автору
 
   для: elenaki   (09.05.2011 в 09:59)
 

>2. не масштабировать изображения в HTML. а это - не от хорошей жизни. клиент изменил дизайн, когда уже был готов скрипт загрузки фоток и было загружено несколько тысяч фоток. поменять скрипт недолго, но кто будет перезаливать все старые фотки?

Была такая неприятная ситуация. Я тогда написал скрипт, который проходился по фоткам и создавал новые миниатюры из больших картинок. Убрал средствами php лимит времени, благо сервер выделенный был. Полчаса скрипт работал. Пользоваться скриптом пришлось ни один раз.

  Ответить  
 
 автор: elenaki   (10.05.2011 в 09:49)   письмо автору
 
   для: antf   (09.05.2011 в 21:36)
 

я делала ресайз огромного количества фоток скриптом. но это было на локальном компе.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования