[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кеширование!
Страницы: 1, 2, 3
Zzepish
saddam123
огна гшенерируется автоматически! Это сообщения, они тянутся из базы
I++
Цитата (Zzepish @ 20.02.2013 - 20:58)
I++
Последние 30 сообщений!
А я думаю, что мемкеш не тащит! Забивать оперативу- зачем?
А если каналов over 9000?

Допустим у тебя 9000 каналов, максимальная длина сообщения 1024 символа в анси, получается 263 мегабайта памяти smile.gif для 9000 каналов и 30 последних сообщений для каждого канала, твой ajax чат умрет в муках даже на дедике если в каждом из каналов будет хотябы по 10 человек, тупо апач зафлудят.90к запросов в сек, думаю положат обычный дедик или vps.
SlavaFr
Цитата (Zzepish @ 20.02.2013 - 16:58)
I++
Последние 30 сообщений!
А я думаю, что мемкеш не тащит! Забивать оперативу- зачем?
А если каналов over 9000?

а если больше милиона?
Если дела пойдут хорошо, то тогда все ровно одного сервера не хватит.

Кеширование должно использовать возможности HTTP с использованием Еtag

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
I++
Возможности http и etag для чата? Кажется мы под онлайн-чатом понимаем разные вещи. Возможно если подробней описать принцип работы этой возможности и что под этим подразумевается, будет яснее.

А если больше миллиона, то вообще апача не должно быть, на фронте nginx с распределением нагрузки по серверам на Си написанный демон на бэкенде, с созданием воркеров, на фронтенде 1 точка входа на порту с форвадингом на нужный сервак с демоном общение по вебсокетам или костыль в виде врапера на флеше с сокетами для js, чтобы юзать сжатие и уменьшить количество данных.

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

Но я думаю, что тут не аська целая, а просто чатик максимум на 200 человек.
Zzepish
I++
Я вообще его для практики пишу! И пытаюсь не тупо кеширование запилить, а осознанно! Чтоб знать, как оптимальней
I++
Я конструирую машину, я вот думаю ей ставить реактивный двигатель или нет. Возможно она будет использоваться по бездорожью, но я должен учесть, что буду участвовать в гонках болидов формулы-1 но еще возможно машина должна быть и грузовой для перевозки 200 таджиков за 1 раз, но я еще подумываю погружаться на ней в Мариунскую впадину, а от туда стартовать на на марс, там разгрузить из машины модули для марсианской базы, а затем включив гипердрайв отправиться в иследьвание галактики smile.gif Вопрос какую марку колес выбрать мешлен для спорта или якохаму для бездорожья?

На твой вопрос нет ответа, так как нет конкретной задачи.
inpost
I++
Задача простая, научиться: файловый кеш, аякс, динамика на JS (переключение каналов).

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Zzepish
I++
Стас за меня выразился)
I++
Сложно представляю файловый кеш для чата. Вижу только либо субд либо массивы в памяти работающие по принципам стека, либо мемкеш по той же методике. Хотя если говорится о полу-чате обрубке, то вполне можно использовать полный кеш уже сгенерированной страницы, например как это в форумкх делается или гостевых. Но это актуально при частых загрузках, т.е новых юзеров, либо вот как тут чат, гуляешь по форуму, а чат каждый раз поновой грузится, проще его закешировать, что очень актуально, в таком случае лучше кешировать каждый раз при новой месаги.
Zzepish
I++
Просто я хочу сделать так, чтоб шло минимум обращений к базе! Только при добавлении или удалении сообщения
Zzepish
Еще актуально!
I++
Ну смотри 9000 каналов, минимальный кеш 1024 байта, итого 240 метров мелких файлов, апдейт раз у секунду, диски сас 1000 iops 90к запросов = смерть smile.gif Лучше в таком случае отожрать 350 примерно метров оперативки и не мучать диск, но глупые обновления по ajax будут создавать ничего не делающий паразитный трафик и грузить проц, очевидно, что лучше использовать вебсокеты или флеш костыль для TCP сокетов.
Zzepish
I++
Флеша не знаю!
На тему веб- сокетов: мечта у меня их освоить! Однако ест одна мааленькая беда- я читал, что она не везде работают
I++
habrahabr.ru/post/51757/

Лень было погуглить на тему враперов сокетов на флеше?

----- Однако ест одна мааленькая беда- я читал, что она не везде работают

Точно в моем любимом lynx например или в ie 6 и других древних системах коих в мире 2% и юзают их обычно люди с минимальной покупательной способностью.

--- Еще актуально!

Что именно? Идея дана, куда копать тоже, чатов овер9000 уже написано с данными техниками с овер9000 каналами и другими прелестями, остается дело за малым копи, паста, прегреплейс копирайт на свой smile.gif
Zzepish
I++
Ну, я буду капать в сторону веб-сокетов) уже все гуд! Т.е.- я перезаписываю файл только тогда, когда отправка\прием сообщений? А веб-сокет сам обновит мне его! так?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.