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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наивен ли я , что смогу снизить нагрузку сессиями? 
:(
    Опции темы
Muerto
Дата 21.2.2010, 03:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Здравствуйте друзья, у меня есть сайт http://promote-it.ru
Так вот, такие типы сайта, оч грузят базу, ибо показывают очень много вещей в реальном времени...
поэтому я подумал, а почему бы собственно не грузить данные только один раз, а патом при переходе выводить данные из сессии?
Все бы было хорошо НО, браузер виснет и сайт не грузится после перехода через пару страниц! 
Все же стоит использовать текстовый документ для снижения нагрузки на сервер/базу ?


--------------------
user posted image
PM MAIL   Вверх
MaXL
Дата 21.2.2010, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


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

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



Чото не увидел я на сайте что-либо "тяжёлого".
Да и странно, что браузер виснуть начинает. Если с коннектом всё норм, то возможно бага в реализации.
Выгружать данные в сэссии это конечно жесть. Хотя сэссии это теже самые файлы, только со "встроенным"
интерфейс работы с ними.
Вот только одно, если посещаемость большая, то держать огромные массивы данных в сэссиях не приемлемо.
Ведь при обращении браузера к сайту, в память будут грузиться все сохранённые в сэссиях переменные, а значит
при большом кол-во обращений к серверу, память будет перегружена. И может не хватить memory_limit.
Так что здесь выход один -- кэшировать полностью страницы(или какие-то их части, меню например) и затем
читать и отдавать пользователю.


--------------------
MaXL
PM MAIL   Вверх
MoLeX
Дата 21.2.2010, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

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



сайт нечего не подгружает, и вообще статичный. Но оптимизации требует, хотя бы вот эти моменты:
Код

 <a href='advertiseminibanner.php?place=2' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>

 <a href='advertiseminibanner.php?place=3' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=4' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=5' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=6' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=7' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=8' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=9' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=10' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=11' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>

 <a href='advertiseminibanner.php?place=12' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=13' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=14' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='http://www.moneyrace.ru/?ref=16583' class='hintanchor' onMouseover="showhint('<b>Moneyrace!</b><br/>МЕГА ПРОЕКТ Я ЗДЕСЬ ДЕЛАЮ ПО 10 РУБЛЕЙ В ЧАС,А ТЫ ЕЩЁ СПИШЬ??????', this, event, '150px')" target='_blank'><img src='http://www.moneyrace.ru/banners/banner-468-3.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=16' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=17' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=18' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=19' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=20' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>

 <a href='advertiseminibanner.php?place=21' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>
 <a href='advertiseminibanner.php?place=22' class='hintanchor' onMouseover="showhint('<b>Мини реклама</b><br/>Размести здесь свой мини-баннер!', this, event, '150px')" target='_blank'><img src='images/adv.gif' width='40' height='20' alt=""/></a>


N-ое количество повторений одного и того же, вынеси во ф-цию


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
smartov
Дата 21.2.2010, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

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



Сайт напоминает анекдот

"Мадам, оставьте сессии масло - смените машину"
PM MAIL   Вверх
Muerto
Дата 21.2.2010, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



MoLeX, Не забывайте что вы видите только результат, гоно на самом деле в цикле с базы берет!

MaXL, Да надо бы мне научится наконец то с кешем работать... отдельные места не знал что кешировать можно...

а что за memory_limit ?

Мне как бы нужна такая схема работы

If Session !=1
значит мол обращаемся к базе
else (если уже посещал страницу и где то данные сохраняются)
то грузим с места сохранения

НО если посмотреть сейчас на BIG Бонус, где я даю пользователям собирать бонусы и сайты там по циклу идут, то я там использую массив!
причем как для капчи. которая очень приколньая однако.... и для ссылок рекламных

Вот что я так сказать изабрел...
user posted image

Это сообщение отредактировал(а) Muerto - 21.2.2010, 10:46


--------------------
user posted image
PM MAIL   Вверх
smartov
Дата 21.2.2010, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

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



Цитата(Muerto @  21.2.2010,  10:36 Найти цитируемый пост)
Не забывайте что вы видите только результат, гоно на самом деле в цикле с базы берет!

В цикле из базы??? Кто же учил так разрабатывать?!
Оптимизируй запрос к базе, чтобы был один-два ну пять (это уже много!) запросов на эти баннера, но уж никак не в цикле. 
Решать же костыли, написанные в одном месте, кешированием, это неправильно.
PM MAIL   Вверх
Muerto
Дата 21.2.2010, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



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


Но не забываем что это не 5 запросов и не 20, а всего один
SELECT * FROM
а затем уже идет просот 
while(fetch...

Возможно я мог бы немного оптимизировать, если бы не заказанные просто не были в базе, а то у меня просто 22 записи с конечной датой, затем там по нулям все в конце заказа

Это сообщение отредактировал(а) Muerto - 21.2.2010, 10:50


--------------------
user posted image
PM MAIL   Вверх
awers
Дата 21.2.2010, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



Пол секунды генерация такой страницы - жесть. Браузер от сессий не виснит кстати.

Хочу немного повредничать
Цитата

Сайт работает во всех браузерах: Opera,Firefox,Google Chrome иInternet Explorer
Советуем использовать резолюцию минимум 1024X768, а так же советуем работать через Firefox! 

Цитата

© Copyright 2009 ... | All Rights Reserved | Правила проекта


Поддержу ка я smartov'a
Цитата(smartov @  21.2.2010,  11:18 Найти цитируемый пост)
"Мадам, оставьте сессии масло - смените машину" 

PM MAIL WWW ICQ Skype   Вверх
Muerto
Дата 21.2.2010, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



awers, А сейчас сессий нету... я их снес...
Меня кстати безопасность моей капчи немного волнует...

И кстати пол секунды это много?
Я пока не оптимизировал запросы могло быть и все 20=-)
Дело в том что там рандомация идет... например для "текстовый баннер"

Это сообщение отредактировал(а) Muerto - 21.2.2010, 11:06


--------------------
user posted image
PM MAIL   Вверх
awers
Дата 21.2.2010, 11:48 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



Цитата(Muerto @  21.2.2010,  12:02 Найти цитируемый пост)
И кстати пол секунды это много?

это как 50 лет smile


Цитата(Muerto @  21.2.2010,  12:02 Найти цитируемый пост)

Дело в том что там рандомация идет... например для "текстовый баннер"

Это дело можно и бд решить .. select * from banners where active = 1 and .... order by rand();


Такие проекты надо отстреливать а не отлаживать :(
PM MAIL WWW ICQ Skype   Вверх
IgorIV
Дата 21.2.2010, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Muerto, вопрос не правилен. Для начала надо собрать статистику. Вот страница сгенерированна за 0.5 секунд. Узнай куда ушло это время.
PM MAIL   Вверх
smartov
Дата 21.2.2010, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

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



Muerto
Цитата(Muerto @  21.2.2010,  10:48 Найти цитируемый пост)
Возможно я мог бы немного оптимизировать, если бы не заказанные просто не были в базе, а то у меня просто 22 записи с конечной датой, затем там по нулям все в конце заказа

уважаемый. Вы свои мысли с трудом формулируете на форуме. Может рановато программировать? 

В любом случае очевидно, что если тут всего 22 записи то тормоза не в месте чтения записей из базы. И кеш тут делать не надо.

PM MAIL   Вверх
Muerto
Дата 21.2.2010, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



awers, в данном случае не согласен, order by rand() при tысачи записей делать пытались 
smartov, я в россии уже лет 16 не живу а мне всего 21, не красиво судит мои интелект по граматике


--------------------
user posted image
PM MAIL   Вверх
awers
Дата 22.2.2010, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



Muerto, да, только что потестил на 60к записей - действительно не айс.
Но опять же, это 60к а не 22 smile
PM MAIL WWW ICQ Skype   Вверх
maximus666
Дата 22.2.2010, 07:42 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В качестве кеша могу посоветовать Memcached, гораздо быстрее чем на файлах.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0607 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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