Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Открыть файл один раз

Сообщения:  [1-10]   [11-13] 

 
 автор: pina   (28.09.2008 в 14:17)   письмо автору
 
   для: pina   (28.09.2008 в 00:56)
 

Всем спасибо flock то что надо, работает достаточно стабильно

  Ответить  
 
 автор: Trianon   (28.09.2008 в 13:39)   письмо автору
 
   для: xx77   (28.09.2008 в 13:29)
 

>говорят что в windows обязательно нужно flock()
чтобы прочесть файл, который никто не собирается менять?
Больше слушайте всякие бредни.

  Ответить  
 
 автор: xx77   (28.09.2008 в 13:29)   письмо автору
 
   для: Trianon   (28.09.2008 в 13:14)
 

говорят что в windows обязательно нужно flock()
но я не думаю что без flock() что-то изменится,
вся надежда на какие-нибудь базы данных :)

  Ответить  
 
 автор: Trianon   (28.09.2008 в 13:14)   письмо автору
 
   для: xx77   (28.09.2008 в 12:55)
 

Зачем вообще блокировать файл tables.sql , если в него никто не вносит изменения?

  Ответить  
 
 автор: xx77   (28.09.2008 в 13:05)   письмо автору
 
   для: xx77   (28.09.2008 в 13:00)
 

забыл сказать что файл tables.sql был меньше пяти килобайт

  Ответить  
 
 автор: xx77   (28.09.2008 в 13:00)   письмо автору
 
   для: ddhvvn   (28.09.2008 в 11:33)
 

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

  Ответить  
 
 автор: xx77   (28.09.2008 в 12:55)   письмо автору
 
   для: BinLaden   (28.09.2008 в 11:17)
 

я говорил о другом

если положить в папку /home/new/public.html/ три файла
test.php
<?
function rfs() {
global 
$time;
$l 0;
$path '/home/new/public_html/';
$f fopen($path .'tables.sql''r');
flock($f5);
while(
$str fgets($f1024))
{
$str preg_replace('#a|b|c|d|e|f |g|ef|jk|j#i'"\t"$str);
$l += strlen($str);
}
flock($f3);
fclose($f);

$f fopen($path .'count.txt''a');
flock($f6);
list(
$m$tempt) = sscanf(microtime(), '%f %u');
fputs($fsprintf ("%.7f\n", (($tempt += $m) - $time) ));
flock($f3);
fclose($f);
}


$i=0;
while((
$i++)<20) {
list(
$m$time) = sscanf(microtime(), '%f %u');
$time += $m;
virtual'test2.php' );
list(
$m$time) = sscanf(microtime(), '%f %u');
$time += $m;
virtual'test3.php') ;
}

?>

и test2.php , test3.php примерно такого содержания
 <?php
register_shutdown_function
('rfs');
?><hr/>


и считать что файл count.txt
создастся сам или он уже есть с нужными правами
, то запустив и прочитав после этот count.txt всё очвидно )

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

  Ответить  
 
 автор: ddhvvn   (28.09.2008 в 11:33)   письмо автору
 
   для: xx77   (28.09.2008 в 10:55)
 

И как же интересно Вы собрались "снизить" его?

Вам нужна такая функция, чтобы мощность компьютера увеличивалась до такого уровня, чтобы файлы читались мгновенно за верям меньше времени запуска 1 скрипта? ))

  Ответить  
 
 автор: BinLaden   (28.09.2008 в 11:17)   письмо автору
 
   для: xx77   (28.09.2008 в 10:55)
 

> flock() наверное не то , тут как-раз обратное, нужно снизить время на которое занят один и тот-же файл

Это как раз то.

  Ответить  
 
 автор: xx77   (28.09.2008 в 10:55)   письмо автору
 
   для: ddhvvn   (28.09.2008 в 10:04)
 

flock() наверное не то , тут как-раз обратное, нужно снизить время на которое занят один и тот-же файл

EXP как всегда невнимательно читал вопрос, или внимательно прочитал , но забыл в процессе ответа ;)

А так, зависит от того, для чего этот файл скриптам, если просто считывается , то это не слишком много занимает времени , если ещё обработка всех данных идёт после считывания и закрытия файла, с includе() тоже всё быстро происходит.
Пробовал random()'но генерировать имя файла, чтобы везде включать один из нескольких одинаковых файлов,,
не заметил особой разницы во времени генерации страниц, или недостаточно много смог запустить одновременных обращений.
Если файл нужен для чтения и записи, то почти ничего нельзя сделать, только по возможности уменьшить время работы с ним.
Заметные задержки из-за такого могут быть только при одновременных штук ста, наверное, перезаписях файла.
Но смотря какой файл , и для чего он.

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования