- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
На сервере лежит 200мб текстовый файл. Скрипт читает его по нескольку раз в минуту. Каждый раз перед прочтением открывает его заново, на что уходит достаточно много времени. Как сделать, чтоб этот файл всегда находился в оперативной памяти сервера?
__________________Все посетители живые, не боты. (http://livesurf.ru/promo/80271)
Насколько я понимаю, у вас Linux / Unix система? Вы можете переместить файл в оперативную память, создав memory drive - диск в оперативной памяти. В Linux это делается так:
Как несложно понять, 256M - размер диска в мегабайтах, /ramdisk - точка монтирования. Т.е. в этом случае вам нужно выполнить указанную команду и скопировать ваш файл в /ramdisk
При перезагрузке сервера этот диск в оперативной памяти не исчезнет?
Сам файл должен оставаться на жёстком диске в том же месте, откуда его скопировал в виртуальный диск, и при обращении скриптом к файлу по старому адресу он не будет открывать его а автоматически станет читать его с оперативки?
При перезагрузке содержимое рамдиска изчезнет. Чтобы не изчез сам рамдиск, можно прописать его в fstab. Можно сделать следующее: скрипт обращается к файлу, расположенному в рамдиске. Другой скрипт по крону этот файл копирует с рамдиска на жесткий диск, скажем, раз в час.
Если нет дефицита RAM, то файл к которому постоянно обращаются и так должен оставаться в памяти, в дисковом кеше. Но при обычном открытии он ещё раз копируется в память скрипта. Нужно копать в сторону "memory mapping", чтобы использовалась только одна копия.
не завершайте работу скрипта, если это возможно.
но тогда если обрабатываются важные данные - в случае проблем с электроэнергией, они потеряются.
На сервере лежит 200мб текстовый файл. Скрипт читает его по нескольку раз в минуту. Каждый раз перед прочтением открывает его заново, на что уходит достаточно много времени. Как сделать, чтоб этот файл всегда находился в оперативной памяти сервера?
Например так: http://bolknote.ru/files/shared/
Как вариант - возможно столь толстый файл имеет смысл переместить в mysql, если он конечно содержит некие структурированные данные, а mysql уже есть у вас на сервере и настроен.
На сервере лежит 200мб текстовый файл.
Товарищ выше правильно говорит, нельзя чтобы скрипты читали данные из таких файлов, очень дурно это, тем более на регулярной основе.
Делайте БД и будет вам счастье.
Угу, а БД из воздуха читает, да?