- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Надеюсь, я не ошибся веткой форума :)
Есть сайт на wordpress с низкой посещаемостью; главная страница вместе с графикой не более 300 кб, хтмл сжат, графика оптимизирована. Виртуальный хостинг
По тестам всё это дело грузилось не более 4с., при повторном обращении – 2с.
У хостера отключен «Keep-alive» и нет поддержки mod_expires.
Недавно потребовалось ставить на определенные графические файлы водяные знаки. Задача решается php скриптом и директивами для apache. Пример .htaccess
<FilesMatch "^.*[0-9]*\.(jpg|jpeg|JPG)$">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*/[0-9]*\.(jpg|jpeg|JPG)$ /watermark.php [T=application/x-httpd-php,L,QSA]
</FilesMatch>
Однако, на локальном сервере все работает, а у хостера нет. Для проверки, на сервере в папку с графикой был помещен .htaccess с директивами Order allow,deny Deny from all, соответственно к самой папке был полностью закрыт доступ, но при прямом обращении к любому графическому файлу jpg (или png etc), последний спокойно отображался. Т.е. директивы запрета полностью игнорируются.
По завершению небольшой переписки с тех.поддержкой, все заработало, на фотографиях появился водяной знак. Но после этого скорость загрузки сайта упала ровно в два раза (инициализация соединения для каждого элемента на сайте значительно увеличилась).
Теперь вопрос. Есть ли это результат плохо настроенного сервера и экономии ресурсов за счет ограничения пользователей или использование mod_rewrite для файлов jpg действительно в два раза увеличивает нагрузку на сервер и использование данной возможности apache не рекомендуется?
Спасибо за помощь.
Вообще генерировать водяную блямбу прямо на лету - не самая лучшая идея, т.к. картинку запрашивают много раз и каждый раз вместо того, чтобы просто ее отдать, серверу приходится запускать php-скрипт, тратя на это ресурсы. В случае, если таких картинок достаточно много и посетителей хватает, нагрузка станет совсем серьезной и все начнет ощутимо тормозить. Более того, в случае с htaccess сервер пытается применить эти правила для каждого запрошенного файла, что автоматически увеличивает время реакции и опять же, нагрузку.
Попробуйте проставить на картинки водяной знак один раз и потом отдавать уже сами изображения без участия PHP и реврайтов. И настроить выставление знака при загрузке картинки.
.htaccess лежит только в одной папке с картинками, на которые и надо ставить водяной знак. Данные файлы запрашиваются не часто и только по желанию пользователя (+ кешируются).
Но суть дела сейчас не в водяных знаках на картинках, а в том, что изначально apache игнорировал любые директивы, относящиеся к файлам с расширением jpg,gif,png. После обращение в тех.поддержку, apache стал реагировать на данные файлы, но сразу упала скорость отдачи контента... до этого скорость загрузки 250кб - 3с, сейчас 8-9с.
Водяные знаки - пример задачи, которую надо было решить.
А статика отдается с той же скоростью? Если да - то похоже на какой-то шейпер либо общую занятость канала у хостера.
Время инициализации увеличилась для всех данных
Вот что было:
время загрузки графических файлов
Текущее положение
время загрузки тех же самых графических файлов
css, js, - абсолютно все файлы теперь отдаются в два раза медленнее.
Даже инициализации соединения и загрузка самого хтмл документа теперь длится 3с, в то время как было не больше 1.5с
Данная трудность возникла только после "настройки apache на работу со всеми файлами" и не вызвана загрузкой канала, т.к. это происходит уже второй раз. Изначально, когда не требовалось накладывать водяные знаки, и не было известно об игнорировании apach'ем файлов jpg, всё работало без нареканий. Но как только был исправлен данный "баг", всё, сайт грузится 9с... Первый раз я не стал придавать этому особое значение, хотя пользователи часто жаловались на низкую скорость отдачи контента.
Недавно, сервер опять перестал обрабатывать графику (пропали водяные знаки), и скорость загрузки сайта сразу приняла обычную величину. Снова была направлена просьба в тех.поддержку, и как только исправили это, скорость снова упала.
Вот я и стараюсь понять, почему apache игнорировал jpg, а как только стал учитывать эти файлы, работать стало невозможно.