Замена значений, счетчик и т.д

kennedy

Новичок
Есть файл который запрашивается разными пользователями 50 раз в секунду
Нужно каждый раз возвращать 1 или 0 (поочередно)

Писать в базу при такой нагрузке не получиться, тем более httpd работает в несколько потоков.

В пхп есть какие то функции для реализации такой задачи?

Сейчас стоит рандом. Но немного не устраивает. Хочется именно каждый раз получать новое значение.
 

Ragazzo

TDD interested
как минимум нужен будет flock()...объясни задачу конкретнее, непонятно...
 

kennedy

Новичок
ну а что здесь объяснять. нужно при каждом обращении к файлу не зависимо от того кто обратился выдавать 1 потом 0 потом 1 потом снова 0. то есть при 50 запросах к файлу в секунду должно быть 50(1) и 50(0) мне просто лень рейд собирать вот и страдаю ерундой с распределениям запросов по дискам)
 

kennedy

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

kennedy

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

tz-lom

Продвинутый новичок
напиши модуль ядра делающий такую операцию
подключаешь его в нужную точку и уря-всё работает
и главное - быстро работает :)
 

kennedy

Новичок
и насколько я понял очередь на редактирования файла сама не выстраивается то есть нужно будет его дергать каждую миллисекунду для проверки?
 

kennedy

Новичок
какой то другой серверный язык программирования обладает подобным функционалом? или flock это лучшее из всего что можно предложить?
 

tz-lom

Продвинутый новичок
kennedy
блин,я не понимаю,на форуме с 2009го года, а про мемкешед не слышали ?
и вообще откуда берутся такие бредовые задачи?
 

kennedy

Новичок
За memcached спасибо. Не для всех пхп является смыслом жизни. Для этого и существуют подобные форумы.
 

kennedy

Новичок
Ну а по поводу идеи. Я уже написал. Распределения запросов между дисками. Кстати если кто то подкинет статью с тестами скорости mdadm в рейд1 до и после для чтения разных файлов разными блоками буду очень признателен. К сожалению самому найти так и не удалось. Про gmirror хоть что то, хоть какое то описания принципов и режимов работы а mdadm только общая информация. И вечные споры о скорости.
 

kennedy

Новичок
насколько я помню с манов в mdadm нету балансов это прерогатива gmirror. Им я пользовался, есть потеря скорости в 10-15% при любом балансе их там всего2 для чтения с двух дисков. Плюс очень бесит что при падении сервера рейд начинает пере собираться. По поводу mdadm то даже нету принципов работы raid1 каким образом идет распределения. Проверять с учетом того что разделы терабайтные как то не очень хочется это сервер выйдет из строя на день пока все скопируется. Тоже самое по поводу reid0 многие говорят про увеличении скрости в два раза а на самом деле получаем даже небольшое падении при не подходящем размере блоков... Рейды вообще зло. Как то они меня не прут. Вот и хочется иметь полный контроль с возможностью изменения принципа работы.
 

Ragazzo

TDD interested
И вот спрашивается как понты ТС в теме про RAID разных уровней кореллируют с вот этим
>>Есть файл который запрашивается разными пользователями 50 раз в секунду
>>Нужно каждый раз возвращать 1 или 0 (поочередно)
ЧСВ такое ЧСВ....
 

kennedy

Новичок
Я вас не понимаю. У вас есть идеи по организации более качественного собственного рейда? Или "я ничего не знаю но это бред". Расскажите я сделаю.
 

tz-lom

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

kennedy

Новичок
а что его осиливать? для этого есть маны где все подробно расписано. Лично мне рейд нужен для увеличения скорости так как диски всегда были есть и будут слабым или очень дорогим звеном. Это одно из основных преимуществ рейда. Даже более значимое чем сохранность файлов. Просто рейд не всегда может спасти информацию. Бекапы лучше. А рейды для ленивых. ИМХО
 

tz-lom

Продвинутый новичок
kennedy
FACE PALM
ты идиот

предлагаю тему в мусорку
 
Сверху