ключевые слова "если есть" В случае с ПХП - вероятность стремится к 0так вот: если есть однопоточный агрегатор, то не все ли равно на чем его писать и по какой схеме он сделан?
Чукчанечитатель-чукчаписатель?К тому же тот же tornado будет держать с лёгкостью этот 1к коннектов даже на 1 одном ядре (если, например, сами баннеры отдавать через редирект на nginx.) Т.е. по-сути и масштабировать то, оказывается, не чего!!!
В случае с prefork_mpm внутри создаются Thread'ы в моей модели нет ни каких thread-ов внутри, там один общий while, который делят между собой все.cDLEON, тебя не смущает, что ты сейчас описал prefork_mpm ?
Григорий, я прекрасно понимаю о чём ты! Боюсь, что объяснять я действительно не умею. На данный момент абсолютно не важно синхронка или асинхронка для доступа к БД там будет использоваться. Ты же понимаешь, что записывая уже подсчитанные данные за эти 10 секунд, мы уже уменьшили нагрузку на диск в 10 раз? Почему ты всё равно настаиваешь на локе из-за ИО ? Ведёшь к тому, что это не горизонтальное масштабирование? Ну так и твоя схема не идеальна и имеет точно такие же проблемы. Только в твоём случае извращаться придётся с мемкешем. И даже если писать в базу в один поток - да, мы, практически, получаем 99% защиту от дедлока, но мы не решаем проблему с дисковым ИО. А наоборот ещё больше её усугубляем запутанностью логики, проблемами, связанными, с архитектурой мемкеша - например кусок данных, который, как бы ещё не записан, "вытесняется" новой порцией! Получим вдовесок необходимость в "прогревании кеша".Чукчанечитатель-чукчаписатель?
Раз в 10 секунд, пока будет выполняться коммит, твой супербыстрый демон будет висеть 1 секунду залоченый на mysql_query, выстраивая очередь из тысячи запросов, или ты будешь выполнять асинхронный запрос, или создавать новый поток для работы с базой?
Серверов на фронте будет минимум два для резервирования, в каждом минимум по 4 ядра - других давно нет, говнохостинги и экономию $100/мес не рассматриваем.
Повторяю вопрос: Что мы оптимизируем?
Ребят, я реально не понимаю, что я описываю не так. С моей стороны это выглядит как сломанный телефон. Я, вроде как, пытаюсь донести свою мысль, а меня постоянно пытаются уличить в том, что я "сам дурак" и в то же время не приводят ни каких разумных аргументов. Григорий - исключение. В итоге получается какой то срач, хотя целью для меня было как раз обсудить "не шаблонный" вариант и выяснить принципиальные подводные камни.
У кого общий while? У всех однопоточных процессов висящих по отдельности?В случае с prefork_mpm внутри создаются Thread'ы в моей модели нет ни каких thread-ов внутри, там один общий while, который делят между собой все.
Так-с... У каждого процесса по одному:У кого общий while? У всех однопоточных процессов висящих по отдельности?
prefork_mpm бывает как и на тредах, так и на процессах, и даже гибридный — с раздельными процессами, которые еще делятся на треды
Никуда ты не денешься от архитектуры ОС — наивно же думать, что в питоне свои, «особенные» процессы, которые ничего общего с остальными не имеют.
А если ты говоришь об архитектуре системы — то какая разница, пхп там или питон?
Я же говорю, ты определись, о чем ты говоришь.
Тебя пытаются уличить что «сам дурак» потому что ты постоянно от темы к теме прыгаешь, и собственные же граничные условия передвигаешь. Выглядит это естественно так, что ты не понимаешь, о чем говоришь. (Возможно потому, что пытаешься говорить сразу обо всем)
while (true) {
}
То есть если я запущу 4 копии баша, он внезапно становится многопроцессорным?Так-с... У каждого процесса по одному ....В нём нет ни процессов, ни тредов!!!!
О чем я как бы и говорю — твои аргументы на уровне твоих же домыслов. Они не основаны на каких-то фактах и сравнениях. Просто — «не нравится». Разве это разговор об архитектуре?Просто в надёжность PHPDaemon я не верю.
Григорий, все данные для этих расчётов легко ложатся на начальном этапе прям в память и синхронизируются с сервером по таймауту. Зачем там нужны ещё какие то выборки\апдейты на каждый реквест? Тем более, что выборки можно делать уже с слейвов.cDLEON
все, я понял, если у тебя все расчеты - это инкремент показов по баннерам и простенький геотаргетинг без расчета временных зон и радиусов, это вписывается в 1 ядро, ты на лету агрегируешь данные перед записью и первичные данные тебе вообще не нужны, то да - "640 кб хватит для всех"
как-бы да, понятно, удачи в будущем
флоппик забей, человек просто не выспался
А почему нет? Эти 4 копии баша смогут выполнятся разными процессорами? http://ru.wikipedia.org/wiki/МногопроцессорностьТо есть если я запущу 4 копии баша, он внезапно становится многопроцессорным?
О чем я как бы и говорю — твои аргументы на уровне твоих же домыслов. Они не основаны на каких-то фактах и сравнениях. Просто — «не нравится». Разве это разговор об архитектуре?
Ну twisted с tornado ты же касаешься в рамках этого разговора.Так я разве обсуждаю PHPDaemon ? Я его просто стараюсь не касаться вообще, в рамках данного разговора.
Ну здесь то я опираюсь на собственный опыт, бенчмарки - которых полно в интернете, собственные бенчмарки и опыт.Ну twisted с tornado ты же касаешься в рамках этого разговора.
Ты сильно заблуждаешься.А почему нет? Эти 4 копии баша смогут выполнятся разными процессорами? http://ru.wikipedia.org/wiki/Многопроцессорность
Точная определенность по терминам - залог сохранности нервных клеток.флоппик
Не, я, может быть, выражаюсь не правильно, прошу прощения.
Я говорю не о _много-поточности_, а о _много-процессорности_. Где количество процессов данного приложения = количеству ядер сервера(что бы загрузить все ядра сервера). А внутри каждого процесса как раз однопоточник, который рулит соединениями через тот же epool
Так у "каждого процесса по одному" или все же "нет ни процессов ни тредов"? В двух предложениях два взаимоисключающих утверждения. Мне вот видится, что это у тебя от того, что ты не понимаешь, как на уровне ОСи запускается приложение и каким образом оно выполняется процессором(-ами). И ты сваливаешь в одну кучу процессоры и процессы.Так-с... У каждого процесса по одному:
В нём нет ни процессов, ни тредов!!!!PHP:while (true) { }