увеличение скорости загрузки сайта на DLE.
Чтобы уменьшить время загрузки картинок можно распределить их по 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
Заранее спасибо. Думаю будет полезно.
Вот ищите по тексту участки "uploads/posts/", там перед ними обычно идет переменная "{$config['http_home_url']}". Вот её то, по смыслу, и надо править. Так что открывайте первые две главы справочника по PHP, в частности, только лишь про присвоение значений переменным + конкатенация строк + функция rand(). Ну и методом тыка (а можно и анализировать код, тогда без этого) изменяейте код, смотрите результат. Как только будет нужный результат, значит вы изменили новую строчку.
Времени на этой уйдет, т.к. ничего не знаете, может на полчасика. Так что вам как раз полезно будет разобраться)
Имеем код вставки ссылки из аплоадера в редактор:
insertimage('{$config['http_home_url']}uploads/posts/' + elmnt.value);
insertfile(wysiwyg);
}
вводим переменную, вставляем куда надо..
$rand = rand(1, 4);
insertimage('http://i{$rand}.anime.an70n.com/posts/' + elmnt.value);
insertfile(wysiwyg);
}
правильно?
Сss спрайты? ... врятли проще..
Там, в целом, то же самое, только все по другому будет. По крайней мере {$rand} работать точно не будет. Надо через конкатенацию ('+').
Запустите, да посмотрите))
правильно?
А чего спрашивать, вставляем в страницу с смотрим, UAS прав.
А пока происходит это действо предлагаю подумать, а нафига вообще проводиться это оптимизация? Оптимизация ради оптимизации экономически нецелесообразна. Оптимизация, ускорение загрузки ради этих модных слов приводят к обратному эффекту. Как иллюстрация подходит данные топик.
Фаза один. Изменение URL картинок через JS приведет к тому, что вся графика прогрузится два раза. Обычно связанные со страницей внешние ресурсы начинают грузиться еще до того, как будет полностью построена DOM. Поэтому первый раз картинка загрузиться из html кода и второй раз её заставит грузиться JS. Поэтому сайт мы не только ускорили, но и засадили в большую жопу. Но это ли предел, сайт можно запихать еще глубже. Наступает фаза два.
Предлагаю на примере картики img.jpg и рандомного генератора номера сервера на JS подумать, что произойдет при переходе между страницами. Кто нибудь уже догадался к чему я клоню, а? ;)
А происходит следующее. При входе на страницу site.ru браузер через генератора случайного числа тянет картинку, к примеру, с сервера i1.site.ru/img.jpg. При входе на следующую страницу сайта генератор для данной картинки создал ссылку на i4.site.ru/mg.jpg. Для браузера это уже другая картинка (хотя реально это таже). И если бы в обычной ситуации он для второй страницы брал бы картинку из кэша, то в результате этой "оптимизации" он снова лезет в инет. Если раньше у нас сайт открывался долго для первой страницу, то сейчас он станет тормозить для первых Х переходов (и это даже без фазы один, вкупе же получаем полный пэ). И это еще не говорю уже о том, что кэш браузера мы забиваем лишними данными, а он между прочим не резиновый.
Вывод прост. Любая бездумная оптимизация, как и любое бездумное действие, приводит к обратному эффекту.
А пока происходит это действо предлагаю подумать, а нафига вообще проводиться это оптимизация? Оптимизация ради оптимизации экономически нецелесообразна. Оптимизация, ускорение загрузки ради этих модных слов приводят к обратному эффекту. Как иллюстрация подходит данные топик.
Фаза один. Изменение URL картинок через JS приведет к тому, что вся графика прогрузится два раза. Обычно связанные со страницей внешние ресурсы начинают грузиться еще до того, как будет полностью построена DOM. Поэтому первый раз картинка загрузиться из html кода и второй раз её заставит грузиться JS. Поэтому сайт мы не только ускорили, но и засадили в большую жопу. Но это ли предел, сайт можно запихать еще глубже. Наступает фаза два.
Предлагаю на примере картики img.jpg и рандомного генератора номера сервера на JS подумать, что произойдет при переходе между страницами. Кто нибудь уже догадался к чему я клоню, а? ;)
А происходит следующее. При входе на страницу site.ru браузер через генератора случайного числа тянет картинку, к примеру, с сервера i1.site.ru/img.jpg. При входе на следующую страницу сайта генератор для данной картинки создал ссылку на i4.site.ru/mg.jpg. Для браузера это уже другая картинка (хотя реально это таже). И если бы в обычной ситуации он для второй страницы брал бы картинку из кэша, то в результате этой "оптимизации" он снова лезет в инет. Если раньше у нас сайт открывался долго для первой страницу, то сейчас он станет тормозить для первых Х переходов (и это даже без фазы один, вкупе же получаем полный пэ). И это еще не говорю уже о том, что кэш браузера мы забиваем лишними данными, а он между прочим не резиновый.
Вывод прост. Любая бездумная оптимизация, как и любое бездумное действие, приводит к обратному эффекту.
Имеется в виду что рандомный номер будет присваиваться только 1 раз при добавлении картинки в новость! И все! Потом он так и остается в новости в "чистом" виде.
Допустим добавляем 4 новости на главную с картинками, для каждой картинки присвоился свой номер сервера. Пример тут, на главной вручную поменены адреса картинки. А я хочу что бы это делалось автоматически при добавлении.
Уж извините, но в 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