Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как снизить траффик? вывод новостей из текстовых файлов 
:(
    Опции темы
Рейкин
  Дата 12.2.2005, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 23.11.2003
Где: Баку, Азербайджан

Репутация: 1
Всего: 1



Здравствуйте.

Cpanel моего хостинга показывает, что мой сайт сотворяет до 300 Гб траффика (редко - больше). У меня нет ни скачки, ни wallpapers на сервере, сайт сам в среднем весит 16кб/страница.
Ежедневных просмотров ~8000-10000.
Т.е. максимум в месяц может быть (10000х20кбх30 дней) = 6 Гб

Хотя...
У меня есть архив новостей онлайн газеты по рубрикам, на данный момент весящие в среднем по 200кб (файлы типа "text1.txt", "text2.txt"...) Каждый раз при запросе страницы газеты и рекламы заголовков её происходит загрузка файла, подсчёт строк, показ последних 80-ти заголовков; и так в 8-ми рубриках газеты.

Является ли эта операция по обработке файлов архива причиной моего огромного траффика?

Сайт полностью написан на PHP, поэтому хочу знать, что если это не ошибка счётчика траффика, то какими процедурами можно облегчить и экономить траффик при выводе новостей, архив которых растёт с каждым днём?

Спасибо.
PM WWW   Вверх
penizillin
Дата 12.2.2005, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



нет, работа php на траффик на прямую не влияет.
это который http://www.basabas.com/ ? могу gzip предложить, если еще нет.
PM MAIL ICQ   Вверх
Рейкин
Дата 12.2.2005, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 23.11.2003
Где: Баку, Азербайджан

Репутация: 1
Всего: 1



Цитата
могу gzip предложить, если еще нет.

penizillin, да, сайт этот самый.


Никогда не пользовался gzip (разве что автомат. функция на форуме есть). Можно подробней?

P.S. Есть ли какое-нибудь разумное объяснение большому траффику сайта (согласно статистике)? Я не хочу столкнуться с проблемой bandwidth limit exceeded... Хотя по статистике exceeded давно и меня должны были отключить.
PM WWW   Вверх
penizillin
Дата 13.2.2005, 06:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



http://www.desilva.biz/php/zlib.html
http://www.gidforums.com/t-549.html

Цитата
Есть ли какое-нибудь разумное объяснение большому траффику сайта (согласно статистике)?
почитайте логи.
PM MAIL ICQ   Вверх
Рейкин
Дата 13.2.2005, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 23.11.2003
Где: Баку, Азербайджан

Репутация: 1
Всего: 1



Насчёт ссылок - спасибо.

Логи говорят, что он видит обрабатываемые файлы архива. Значит всё-таки PHP влияет на траффик. Ничего другого сверхъестественного не обнаружил.
PM WWW   Вверх
penizillin
Дата 13.2.2005, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



php работает на сервере и генерирует страницы. напрямую он на траффик не влияет, т.к. готовые страницы отдает (например) apache. т.е. все телодвижения с текстовыми файлами apache не интересуют, отсылает он только готовые документы. а бинарные файлы в логах не фигурируют? там, pdf, картинки и т.п.?

не исключено, что приложение неправильно сконструировано, но это уж вам анализировать. плюс оптимизация по мелочи (i.e. снятие неких данных с того же сервера через url, т.е. напрягая apache).
PM MAIL ICQ   Вверх
InfMag
Дата 13.2.2005, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



Просмотрел HTML код... Не такой уж он и оптимизированный. И JS баннеров большие, дык у тебя такое большое поличество посетителей, вот трафик и летит, да там еще и файлы.
Советую отсылать теги <meta ...> через header(), трафик должен хоть на немного, но снизиться.
HTML код у тя вобще хламный. Ты пробелы и табы поубирай...
Добавлено @ 18:45
Хм. Я вот подумал, что я за пять минут пару метров уже срежу, а если уж посетителей ~8000-10000, да еще тех, кто сидит сутками... Не удивительно. smile
PM   Вверх
Рейкин
Дата 14.2.2005, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 23.11.2003
Где: Баку, Азербайджан

Репутация: 1
Всего: 1



InfMag спасибо, что не поленился посмотреть сёрс, но пробелы и таб, что ты имеешь ввиду - необходимо для нормального чтения кода. (хоть этот форум возьми)

да там еще и файлы - эт ты про какие файлы?

Советую отсылать теги <meta ...> через header() - как это?

И что конкретно резать, кроме рпедложенного можно?



penizillin - как ты видел, сайт минимизирует кол-во графики. кроме замеченного InfMag'ом длинного скрипта баннера (аднет полегче ещё не придумал), ничего лишнего нет.

А лог показал, что при запросах на данные новостей от открывает все мои архивные данные, как я уже сказал. это ж по Мб за страницу!! Нереально ж...

У меня просмотров новостей футбола в день до 200 в день - это я только 200МБ траффика на этом делаю???

А может траффик исходящий и серверный (то, что PHP творит перед выдачей данных) разные вещи. Лог ведь Raw Stats (грубого помола)...

PM WWW   Вверх
penizillin
Дата 14.2.2005, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



Цитата
А может траффик исходящий и серверный
траффик только из- и входящий, другого нет. значит у вас плохо оптимизирован код.
Цитата
при запросах на данные новостей от открывает все мои архивные данные
и это тому доказательство.

Это сообщение отредактировал(а) penizillin - 14.2.2005, 18:26
PM MAIL ICQ   Вверх
Рейкин
Дата 14.2.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 23.11.2003
Где: Баку, Азербайджан

Репутация: 1
Всего: 1



Цитата(penizillin @ 14.2.2005, 18:25)
Цитата
А может траффик исходящий и серверный
траффик только из- и входящий, другого нет. значит у вас плохо оптимизирован код.
Цитата
при запросах на данные новостей от открывает все мои архивные данные
и это тому доказательство.

Ну я конечно понимаю, что оптимизация хромает (все говорят).

Алгоритм вывода новостей, например, политики такой:

прочитывает вызванную новость (page=$strnum), при этом открывая файл с архивом новостей политики (заголовок, фото, текст, дата, источник...) - все новости по строкам. Последняя строка - самая свежая новость.

далее запоминает заголовки и номер строк (адрес) последних 80 новостей - создаёт ссылки в виде заголовков.
+ 7 других рубрик газеты (шоу-бизнес, футбол, hi-tech...) также открывают свои файлы и считывают по 3 заголовка с адресом от каждого, создавая меню.

В общем - у каждой рубрики свой 1 файл, откуда я черпаю заголовки и ссылки описанным выше образом. т.е.

Код

<?
$openfile=file("/text1.txt");
$str=count($openfile);
for ($p=$str-1; $p>=$str-80; $p--)
{
list($name,$msg,$yes,$url,$from,$date)=split("***",$openfile[$p]);
$links .= "<a href=\"/economica.php?page=$p\">$name</a><br><br>";
}
   print "$links
   <br><br><center><a href=\"oldeconomica.php\">архив</a></center>
   ";
?>


И так для каждого.

Понимаю так - надо обходить эти файлы, если необходим только заголовок => надо создавать паралельный файл только с заголовком и адресом. - Можно ли это назвать грамотным выходом, если не хочу использовать БД?

И ещё,
$openfile=file("/text1.txt"); // это и есть вызов всего файла (его нагрузка на траффик)?

Есть ли разница при

Код

$openfile=file("/text1.txt");
$str=count($openfile);
for ($p=$str-1; $p>=$str-80; $p--)
{
  действие
}

и
Код

$openfile=file("/text1.txt");
list($name,$msg,$yes,$url,$from,$date)=split("***",$openfile[$strnum]);

smile
Имеется ввиду - там счёт строк, а во втором варианте только одну строку прошу.

Буду благодарен да пояснения и предложения как оптимизировать вывод новостей граммотно.
PM WWW   Вверх
penizillin
Дата 14.2.2005, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



Цитата
если не хочу использовать БД?
боюсь, что это самая большая проблема. правильно организованая бд в вашем случае - просто панацея.

file("/text1.txt") на траффик, afaik, влиять не должен.
использовать file() на файл размером в несколько mb, только для того, чтобы считать первые пару строк - жутко расточимо.
PM MAIL ICQ   Вверх
Рейкин
Дата 15.2.2005, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 23.11.2003
Где: Баку, Азербайджан

Репутация: 1
Всего: 1



penizillin спасибо.
Вероятно всё же приду к созданию БД в будущем, (интересно начать писать). Что касается file("/text1.txt") на траффик, afaik, влиять не должен., то я повторюсь - если не тут "кушается траффик", то где?
PHP или грузит эти файлы при обработке, влияя на траффик, или грузит, не влияя. Из вашего ответа - не влияя - в чём тогда проблема?

использовать file() на файл размером в несколько mb, только для того, чтобы считать первые пару строк - жутко расточимо. - это касательно времени, затрачиваемого на обработку (согласен) или опять же где-то тут гигантский траффик?

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

Это сообщение отредактировал(а) Рейкин - 15.2.2005, 16:38
PM WWW   Вверх
DENNN
Дата 15.2.2005, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата
Логи говорят, что он видит обрабатываемые файлы архива.

Может все же посмотрим на эти строки лога? Или так и будем предположения о плохой оптимизации строить? smile
PM ICQ   Вверх
Рейкин
Дата 15.2.2005, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 23.11.2003
Где: Баку, Азербайджан

Репутация: 1
Всего: 1



Отрывок лога с открытием газеты и её причендалостей
Код

66.98.186.41 - - [13/Feb/2005:07:00:44 +0400] "GET /st.php HTTP/1.0" 200 228 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:44 +0400] "GET /me.php HTTP/1.0" 200 2260 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:44 +0400] "GET /kru.php HTTP/1.0" 200 2398 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:44 +0400] "GET /tx.php HTTP/1.0" 200 274 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:44 +0400] "GET /to.php HTTP/1.0" 200 7342 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:44 +0400] "GET /sport/tf.txt HTTP/1.0" 200 749566 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /gazeta/tnp.txt HTTP/1.0" 200 864926 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /gazeta/economics.txt HTTP/1.0" 200 601693 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /123/tsh.txt HTTP/1.0" 200 227400 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /sport/tf.txt HTTP/1.0" 200 749566 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /gazeta/tas.txt HTTP/1.0" 200 233496 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /gazeta/tm.txt HTTP/1.0" 200 75186 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /nono/nono.txt HTTP/1.0" 200 169602 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /gazeta/tht.txt HTTP/1.0" 200 437035 "-" "-"
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /gazeta/mtm2.php HTTP/1.0" 200 5206 "-" "-"


Например, в строке
66.98.186.41 - - [13/Feb/2005:07:00:45 +0400] "GET /sport/tf.txt HTTP/1.0" 200 749566 "-" "-"
749566 - это размер файла архива новостей футбола...

Да, вот сейчас глянул,
Bandwidth usage (current month) 463836.08 Megabytes

Это при 8 Гб/мес дозволенного...
PM WWW   Вверх
penizillin
Дата 15.2.2005, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 10.11.2004

Репутация: 8
Всего: 9



66.98.186.41 - это ваш сервер?

попробуйте:
1. выключить allow_url_fopen в ini
2. использовать fopen() или file_get_contents() вместо file() с жестко прописаным физическим путем к файлу.
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1022 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.