Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Где хранить файлы (рассуждения по оптимизации сайта) (https://javascript.ru/forum/offtopic/16270-gde-khranit-fajjly-rassuzhdeniya-po-optimizacii-sajjta.html)

greatilya 01.04.2011 07:55

Где хранить файлы (рассуждения по оптимизации сайта)
 
Подготавливаю к открытию один свой проект (проект должен получится достаточно посещаемым и хранящий много медиа-контента) и задумался над одним вопросом, но сначала предыстория:

Что сейчас сделано, можно рассматривать как советы новичкам.

Верстка сайта:
- стараюсь делать верстку минимальной по html коду
- стараемся подключать как можно меньше дополнительных файлов: примером могут служить CSS файлы. Лучше, по возможности сделать всего 1 CSS файл и желательно его сжать (это обычно делается скриптами, которые удаляют пробелы и т.п.)
- при верстке стараемся использовать как можно меньше графических файлов, по возможности несколько картинок объединяем в одну и юзаем background-position

Первоначальное распределение трафика:
- создаем несколько поддоменов (далее поясню для чего)
- размещаем домены на разных серверах (дедик, vps, виртуальный хостинг) главное требование к этим поддоменам: доступ по FTP. Также желательно отсутствие ненужных компонентов, например РНР.
- грамотно разбиваем файлы на поддомены, например: файлы верстки можно положить на поддомен style и т.д.

И вот я подошел к своему вопросу: где хранить картинки, и прочие статичные файлы?
Тут необходимо учитывать ширину канала, стоимость размещения и т.п.
Пока я склоняюсь размещать поддомены на jino.ru.
Может кто-то посоветует еще варианты. Вероятно стоит брать простенькие VPS держащие 100Мb/s?
Может кто-то сталкивался с подобным анализом по аспектам: ширина канала, объем диска, бекапы, стоимость.

melky 01.04.2011 20:12

Цитата:

Сообщение от greatilya (Сообщение 98836)
.........
Первоначальное распределение трафика:
- создаем несколько поддоменов (далее поясню для чего)
- размещаем домены на разных серверах (дедик, vps, виртуальный хостинг) главное требование к этим поддоменам: доступ по FTP. Также желательно отсутствие ненужных компонентов, например РНР.
- грамотно разбиваем файлы на поддомены, например: файлы верстки можно положить на поддомен style и т.д.

И вот я подошел к своему вопросу: где хранить картинки, и прочие статичные файлы?
Тут необходимо учитывать ширину канала, стоимость размещения и т.п.
Пока я склоняюсь размещать поддомены на jino.ru.
Может кто-то посоветует еще варианты. Вероятно стоит брать простенькие VPS держащие 100Мb/s?
Может кто-то сталкивался с подобным анализом по аспектам: ширина канала, объем диска, бекапы, стоимость.

из статики лучше вываливать только картинки. насчет style и остального (скрипты) легче ограничиться парой строчек кода в .htaccess

насчет vps ничего сказать не могу, ни разу не юзал.

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

Цитата:

Сообщение от greatilya (Сообщение 98836)
- при верстке стараемся использовать как можно меньше графических файлов, по возможности несколько картинок объединяем в одну и юзаем background-position

вдобавок лучше её запихивать в style.css, через data uri и в самом css уменьшать использование картинок, т.е. объединять в один селектор ( снизу)

плохо
Код:

.a { background-image : url('lol.jpg');padding: 20px  }
.b { background-image : url('lol.jpg');padding: 5px  }
.c { background-image : url('lol.jpg');padding: 10px  }

лучше
Код:

.a, .b, .c { background-image : url('lol.jpg')  }
.a { padding: 20px }
.b { padding: 5px  }
.c { padding: 10px  }

хотя, вы всё это,наверное, уже знаете

greatilya 02.04.2011 07:39

Спасибо! Мне понадабятся любые советы и полезные ссылочки по теме.
Цитата:

Сообщение от melky
если вы так боитесь хабра-эффекта, то зря. да и зачем на каждый файл выделять поддомен? все равно браузер держит только 2 (или уже больше, 3-4) одновременных соединений на сайт

Тут я пока переживаю над тем чтоб распределить трафик на разные сервера.
Например:
имеется 1 страница в которой 300Kb JS скриптов, 300Kb CSS, 300Kb картинок.
Если мы это разделим на 3 сервера то трафик на сервера сокртится в 3 раза(в идеале, я не рассматриваю сейчас кеширование).

Грубо говоря я сейчас боюсь не влезть в 100Mb/s ... т.к. если имеем 100 человек одновременного онлайна то скорость загрузки сайта (в идеале) снизится до 1Mb/s.
Думаю 1 сервера (виртуального хостинга там 10Mb/s) хватит для CSS и JS и каритнок верстки.
Остальной мультимедиа-контент думаю делить на сервера. Вот только что лучше: чуть дорогой VPS со 100Mb/s или более дешевый виртуальный хостинг с 10Mb/s?

melky 02.04.2011 08:50

Я уверен,это вам понравится, если вы еще не знаете про вебо.ин

webo.in/articles/

greatilya 02.04.2011 12:35

Цитата:

если вы еще не знаете про вебо.ин
Полезный сайтик ) Спасибо!

Буду рад всем хорошим ссылкам по оптимизации (также про серверную часть, можно в личку ссылки кидать) ...

x-yuri 03.04.2011 19:47

Цитата:

Сообщение от melky
из статики лучше вываливать только картинки. насчет style и остального (скрипты) легче ограничиться парой строчек кода в .htaccess

почему только картинки и что за строчки в .htaccess?

Цитата:

Сообщение от melky
.. если вы так боитесь хабра-эффекта, то зря. да и зачем на каждый файл выделять поддомен? все равно браузер держит только 2 (или уже больше, 3-4) одновременных соединений на сайт

про количество соединений можно посмотреть здесь, на вкладке network

Цитата:

Сообщение от melky
вдобавок лучше её запихивать в style.css, через data uri

и в каких браузерах это будет работать?

melky 03.04.2011 20:01

Цитата:

Сообщение от x-yuri (Сообщение 99108)
почему только картинки и что за строчки в .htaccess?

жесткое кеширование

B~Vladi 05.04.2011 17:06

Цитата:

Сообщение от melky
жесткое кеширование

+ версионность? Как вариант.

Цитата:

Сообщение от greatilya
где хранить картинки, и прочие статичные файлы?

Не уверен, что правильно понял вопрос, но хочется сказать: на разных поддоменах. Каждый тип статики на свой поддомен (скрипты - js.site.com, стили - css.site.com и т.д.). С этой задачей справится даже сама дешевая виртуалка. Нарастить ресурсы всегда сможешь.
Про nginx, уверен, ты и сам знаешь.

B~Vladi 05.04.2011 17:09

Цитата:

Сообщение от greatilya
Буду рад всем хорошим ссылкам по оптимизации (также про серверную часть, можно в личку ссылки кидать) ...

Чо в личку то, всем кидайте.

monolithed 05.04.2011 21:06

Цитата:

Сообщение от B~Vladi
скрипты - js.site.com, стили - css.site.com и т.д.

я лично не вижу смысла задрипаные 8кб CSS и 2кб JS (библиотеки с CDN, конечно) раскидывать на поддомены.. графика, медиа это совсем другое дело...


Часовой пояс GMT +3, время: 21:56.