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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оперативная память. 
:(
    Опции темы
seka
Дата 1.2.2009, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

Есть следующая ситуация: два скрипта на PHP выполняются одновременно.
Выполняются не моментально, каждый примерно по пол-минуты. Расположены на одном сервере, в одном каталоге.

И в процессе работы им необходимо очень много раз обмениваться небольшим количеством информации.

В настоящий момент обмениваются они через базу данных (MySQL). Т.е. один скрипт пишет туда, второй читает.

В итоге выходит, что этот обмен занимает очень много времени..... получается, что очень много раз (несколько тысяч) порисходит запись в БД (фактически на жёсткий диск) и чтение.

Возникла необходимость ускорить работу скриптов, а именно - ускорить обмен данными между ними. Первое, что приходит на ум - использовать опертивню память.... например, чтобы скрипт, который их запускает (т.е. обращается к ним через сокеты), выделял кусок памяти и передавал адрес этого куска обоим скриптам при вызове.... а они бы просто использовали эту ячейку вместо БД.

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

Спасибо.
PM MAIL   Вверх
skyboy
Дата 1.2.2009, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



есть механизм прямо так для совместного использования памяти - shared memory
но, возможно, это будет не лучшим способом. впрочем, лично передо мной такие задачи ещё не ставились, так что кроме ссылки в ман помочь ничем не смогу :(
PM MAIL   Вверх
Akina
Дата 1.2.2009, 23:22 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Хм...
Цитата(seka @  1.2.2009,  17:50 Найти цитируемый пост)
в процессе работы им необходимо очень много раз обмениваться небольшим количеством информации

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
IZ@TOP
Дата 5.2.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



Цитата(Akina @  2.2.2009,  00:22 Найти цитируемый пост)

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


Не могу не согласиться. 
А вообще, для подобных вещей есть С и демоны. В крайнем случае, можно использовать xcache/memcache как общее хранилище данных или обменник.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Atlete
Дата 5.3.2009, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Могу предложить использовать Memcache,
или как вариант самому реализовать обмен данными ммежду скриптами 
через сокеты. Данные перед отправкой пропускать через serialize,
прием - unserialize соответсвенно. Аналогичным образом можно и свой кеш написать
через файлы теже. Использовать файлы. Принцип аналогичен как и с сокетами.

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

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


 




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


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

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