Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

увеличение скорости загрузки сайта на DLE.

52K
12 октября 2009 года
an70n
6 / / 11.10.2009
Суть в следующем, на сайтах ДЛЕ в краткой новости с большинстве случаем содержится картинка и описание. Именно это видит пользователь заходя на главную.

Чтобы уменьшить время загрузки картинок можно распределить их по 3-4 хостам.

Например:
http://i1.anime.an70n.com/upload/posts/2009-10/thumbs/1.jpg
http://i2.anime.an70n.com/upload/posts/2009-10/thumbs/2.jpg
http://i3.anime.an70n.com/upload/posts/2009-10/thumbs/3.jpg
http://i4.anime.an70n.com/upload/posts/2009-10/thumbs/4.jpg

Но фактически они находятся http://anime.an70n.com/upload/posts/2009-10/thumbs/ тут, в одном месте. Настраивается за 5мин. на нормальном хостинге.

Таким образом мы обманываем браузер и он загружает картинки в 4 потока, а не в 1.

Нужно просто подкорректировать скрипт загрузки картинок.
тоесть чтобы он их загружал куда и прежде, но ссылки формировал по очереди на разные хосты.

Идея баянистая, но на DLE такова нет.

Я в php не про и чтобы это сделать придется гору всего перечитать и изучить, а делов то по сути на 15мин. Может кто-нибудь сделает. Интересует для DLE 7.5

Заранее спасибо. Думаю будет полезно.
52K
12 октября 2009 года
an70n
6 / / 11.10.2009
Вот сам скрипт который отвечает за загрузку файлов.
244
12 октября 2009 года
UAS
2.0K / / 19.07.2006
Благотворительностью занимаются лишь в разделе студенты. А возиться в примеси html+js+php, пусть даже это и DLE, вряд ли кто захочет на досуге.

Вот ищите по тексту участки "uploads/posts/", там перед ними обычно идет переменная "{$config['http_home_url']}". Вот её то, по смыслу, и надо править. Так что открывайте первые две главы справочника по PHP, в частности, только лишь про присвоение значений переменным + конкатенация строк + функция rand(). Ну и методом тыка (а можно и анализировать код, тогда без этого) изменяейте код, смотрите результат. Как только будет нужный результат, значит вы изменили новую строчку.

Цитата:
Заранее спасибо. Думаю будет полезно.

Времени на этой уйдет, т.к. ничего не знаете, может на полчасика. Так что вам как раз полезно будет разобраться)

12
12 октября 2009 года
alekciy
3.0K / / 13.12.2005
Копать придется ядро, которое собственно адреса к картинкам и генерит. Проще CSS спрайтами замутиться.
52K
12 октября 2009 года
an70n
6 / / 11.10.2009
Rand($min,$max) - возвращает случайное число, которое находиться в диапазоне между $min и $max. Например, функция Rand(0,10) вернет случайное число между нулем и десятью.

Имеем код вставки ссылки из аплоадера в редактор:
 
Код:
if (elmnt.id == 'fullimage') {
insertimage('{$config['http_home_url']}uploads/posts/' + elmnt.value);
insertfile(wysiwyg);
}


вводим переменную, вставляем куда надо..

 
Код:
if (elmnt.id == 'fullimage') {


$rand = rand(1, 4);            
insertimage('http://i{$rand}.anime.an70n.com/posts/' + elmnt.value);
insertfile(wysiwyg);
}


правильно?

Сss спрайты? ... врятли проще..
244
12 октября 2009 года
UAS
2.0K / / 19.07.2006
Нет, неверно. Это Вы вставляете в JS-код.
Там, в целом, то же самое, только все по другому будет. По крайней мере {$rand} работать точно не будет. Надо через конкатенацию ('+').

Цитата:
правильно?

Запустите, да посмотрите))

12
13 октября 2009 года
alekciy
3.0K / / 13.12.2005
Цитата: an70n

правильно?


А чего спрашивать, вставляем в страницу с смотрим, UAS прав.

А пока происходит это действо предлагаю подумать, а нафига вообще проводиться это оптимизация? Оптимизация ради оптимизации экономически нецелесообразна. Оптимизация, ускорение загрузки ради этих модных слов приводят к обратному эффекту. Как иллюстрация подходит данные топик.

Фаза один. Изменение URL картинок через JS приведет к тому, что вся графика прогрузится два раза. Обычно связанные со страницей внешние ресурсы начинают грузиться еще до того, как будет полностью построена DOM. Поэтому первый раз картинка загрузиться из html кода и второй раз её заставит грузиться JS. Поэтому сайт мы не только ускорили, но и засадили в большую жопу. Но это ли предел, сайт можно запихать еще глубже. Наступает фаза два.

Предлагаю на примере картики img.jpg и рандомного генератора номера сервера на JS подумать, что произойдет при переходе между страницами. Кто нибудь уже догадался к чему я клоню, а? ;)
А происходит следующее. При входе на страницу site.ru браузер через генератора случайного числа тянет картинку, к примеру, с сервера i1.site.ru/img.jpg. При входе на следующую страницу сайта генератор для данной картинки создал ссылку на i4.site.ru/mg.jpg. Для браузера это уже другая картинка (хотя реально это таже). И если бы в обычной ситуации он для второй страницы брал бы картинку из кэша, то в результате этой "оптимизации" он снова лезет в инет. Если раньше у нас сайт открывался долго для первой страницу, то сейчас он станет тормозить для первых Х переходов (и это даже без фазы один, вкупе же получаем полный пэ). И это еще не говорю уже о том, что кэш браузера мы забиваем лишними данными, а он между прочим не резиновый.

Вывод прост. Любая бездумная оптимизация, как и любое бездумное действие, приводит к обратному эффекту.

52K
13 октября 2009 года
an70n
6 / / 11.10.2009
Цитата: alekciy
А чего спрашивать, вставляем в страницу с смотрим, UAS прав.

А пока происходит это действо предлагаю подумать, а нафига вообще проводиться это оптимизация? Оптимизация ради оптимизации экономически нецелесообразна. Оптимизация, ускорение загрузки ради этих модных слов приводят к обратному эффекту. Как иллюстрация подходит данные топик.

Фаза один. Изменение URL картинок через JS приведет к тому, что вся графика прогрузится два раза. Обычно связанные со страницей внешние ресурсы начинают грузиться еще до того, как будет полностью построена DOM. Поэтому первый раз картинка загрузиться из html кода и второй раз её заставит грузиться JS. Поэтому сайт мы не только ускорили, но и засадили в большую жопу. Но это ли предел, сайт можно запихать еще глубже. Наступает фаза два.

Предлагаю на примере картики img.jpg и рандомного генератора номера сервера на JS подумать, что произойдет при переходе между страницами. Кто нибудь уже догадался к чему я клоню, а? ;)
А происходит следующее. При входе на страницу site.ru браузер через генератора случайного числа тянет картинку, к примеру, с сервера i1.site.ru/img.jpg. При входе на следующую страницу сайта генератор для данной картинки создал ссылку на i4.site.ru/mg.jpg. Для браузера это уже другая картинка (хотя реально это таже). И если бы в обычной ситуации он для второй страницы брал бы картинку из кэша, то в результате этой "оптимизации" он снова лезет в инет. Если раньше у нас сайт открывался долго для первой страницу, то сейчас он станет тормозить для первых Х переходов (и это даже без фазы один, вкупе же получаем полный пэ). И это еще не говорю уже о том, что кэш браузера мы забиваем лишними данными, а он между прочим не резиновый.

Вывод прост. Любая бездумная оптимизация, как и любое бездумное действие, приводит к обратному эффекту.



Имеется в виду что рандомный номер будет присваиваться только 1 раз при добавлении картинки в новость! И все! Потом он так и остается в новости в "чистом" виде.
Допустим добавляем 4 новости на главную с картинками, для каждой картинки присвоился свой номер сервера. Пример тут, на главной вручную поменены адреса картинки. А я хочу что бы это делалось автоматически при добавлении.

52K
13 октября 2009 года
an70n
6 / / 11.10.2009
Запустил) эфекта 0. впрочем даже на работоспособность не повлияло.
Уж извините, но в JS я совсем ничего ни понимаю.

Поэтомы решил изменить изменить переменную $config_path_image_upload
на:
$nomer = rand(1, 2);
$config_path_image_upload = "http://i" . $nomer . ".anime.an70n.com" . "/uploads/" . $userdir. $sub_dir;

Но теперь когда захожу в заливку файлов пишет: Directory not found
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог