lang/php

php log file write speed

C/H 2018. 4. 20. 17:42

  1. $fp = fopen($file, 'a+');
    while($count > $loop) {
        fwrite($fp, $text);
    }
    fclose($fp);
  2. ...
  3. ...
  4. ...
  5. 전체 요청이 진행되는 동안 파일을 열어두고 다음 로그 이벤트가 발생할 때 flock으로 풀고 다시 묶는다.
    $fp = fopen($file, 'a+');
    flock($fp, LOCK_UN);
    while($count > $loop) {
        if (flock($fp, LOCK_EX)) {
            fwrite($fp, $text);
        }
        flock($fp, LOCK_UN);
    }
    fclose($fp);
  6. ...

100문자를 10,000번 쓰기 실행.

  1. Execution with NOT closing the log file took 0.0668561458588 seconds
    로그 파일을 닫지 않고 실행 0.0668561458588 초.
  2. Execution with CLOSING the log after each write file took 30.1630220413 seconds
    각 쓰기 파일을 마친 후 로그를 닫은 상태로 실행 30.1630220413 초.
  3. Execution with fileputcontent took 30.153963089 seconds
    file_put_content 실행 30.153963089 초.
  4. Execution with leaving the file open, but LOCKING and UNLOCKING it took 0.148998975754 seconds
    파일을 열어 둔 상태로 실행. 그 후 잠금 및 잠금 해제에는 0.148998975754 초.
  5. Execution with nonblocking stream took 0.149605989456 seconds
    비 차단 스트림 실행 0.149605989456 초.
  6. Execution with the error_log method took 30.069578886 seconds
    error_log 실행은 30.069578886 초.


이제 테스트를 해보자...

반응형

'lang > php' 카테고리의 다른 글

텍스트 치환 함수 속도 String Replacement Method Speed  (0) 2018.04.26
date, microtime speed and calculate  (0) 2018.04.25
Ubuntu php7.1/7.2 Switch  (0) 2018.03.02
Yii model get query  (0) 2017.08.25
PHP math-php  (0) 2017.06.01