php 성능 최적화 사례

3975 단어 php성능 최적화
php 는 매우 유행 하 는 스 크 립 트 언어 로 현재 많은 회사(시 나 닷 컴,유쿠,바 이 두,소 후,타 오 바 오 등)가 이런 언어 로 사이트 개발 을 하고 있다.나의 이 글,나 는 단지 너의 php 스 크 립 트 성능 을 향상 시 킬 수 있 기 를 바 랄 뿐이다.php 스 크 립 트 의 성능 을 기억 하 십시오.php 버 전,웹 서버 환경,코드 의 복잡 도 에 의존 할 때 가 많 습 니 다.
코드 의 병목 최적화
호 어 는 일찍이"너무 일찍 최적화 하 는 것 이 모든 불행 의 근원"이 라 고 말 한 적 이 있다.당신 이 당신 의 사 이 트 를 더욱 빨리 돌아 가게 하려 고 할 때,당신 은 최적화 된 일 을 해 야 합 니 다.코드 를 바 꾸 기 전에 해 야 할 일 은 어떤 원인 으로 시스템 이 느 려 졌 습 니까?당신 은 아래 의 지도 와 다른 방식 으로 당신 의 php 를 최적화 할 수 있 습 니 다.데이터베이스 원인 일 수도 있 고 인터넷 원인 일 수도 있 습 니 다!phop 코드 를 최적화 함으로써 시스템 병목 을 찾 아 볼 수 있 습 니 다.
php 버 전 업그레이드
당신 의 팀 원 들 은 최근 몇 년 동안 phop 엔진 이 상징적 인 성능 을 향상 시 켰 다 고 주장 합 니 다.만약 웹 서버 가 php 3 나 php 4 와 같은 오래된 버 전 을 실행 하고 있다 면.그러면 코드 를 최적화 하려 고 시도 하기 전에 버 전 간 의 업그레이드 상황 을 깊이 조사해 야 한다.
캐 시 사용
캐 시 모듈(예 를 들 어 Memcache)이나 템 플 릿 시스템(예 를 들 어 Smarty)을 이용 하여 캐 시 처 리 를 합 니 다.우 리 는 데이터베이스 결 과 를 캐 시 하고 페이지 결 과 를 추출 하 는 방식 으로 사이트 의 성능 을 향상 시 킬 수 있다.
출력 버퍼 사용
스 크 립 트 가 렌 더 링 을 시도 할 때 php 는 메모리 캐 시 를 사용 하여 모든 데 이 터 를 저장 합 니 다.캐 시 영역 은 응답 할 데 이 터 를 모두 채 우 고 결 과 를 사용자 에 게 응답 하기 때문에 페이지 를 느리게 보일 수 있 습 니 다.다행히도,php 가 버퍼 를 채 우기 전에 사용자 에 게 데 이 터 를 강제로 응답 하도록 변경 할 수 있 습 니 다.그러면 웹 사이트 가 더 빨 라 보일 것 입 니 다.
  • 출력 캐 시 제어
  • 유치 한 setters 와 getters 를 쓰 지 마 세 요.
    php 클래스 를 쓸 때 대상 속성 을 직접 조작 하면 시간 을 절약 하고 스 크 립 트 성능 을 향상 시 킬 수 있 습 니 다.유치 하고 우 스 운 setters 와 getters 가 아니 라다음은 몇몇 사례 입 니 다.dog 클래스 는 setName()과 getName()방식 으로 name 속성 을 조작 합 니 다.
    
    class dog {
      public $name = '';
     
      public function setName($name) {
        $this->name = $name;
      }
     
      public function getName() {
        return $this->name;
      }
    }
    메모:setName()과 getName()은 name 속성 을 저장 하고 되 돌려 주 는 것 외 에 아무것도 하지 않 았 습 니 다.
    
    $rover = new dog();
    $rover->setName('rover');
    echo $rover->getName();
    name 속성 을 직접 설정 하고 방문 하면 성능 이 100%향상 되 고 개발 시간 도 줄 일 수 있 습 니 다!
    
    $rover = new dog();
    $rover->name = 'rover';
    echo $rover->name;
    이유 없 이 copy 변 수 를 사용 하지 마 십시오.
    때때로 초급 phper 는 코드 를 더욱 깨끗하게 하기 위해 정 의 된 변 수 를 다른 변수 에 다시 할당 합 니 다.이것 은 실제 적 으로 이중 메모리 의 소 모 를 초래 하고(변 수 를 바 꿀 때)스 크 립 트 의 성능 을 떨 어 뜨 린 다.예 를 들 어 한 사용자 가 512 KB 의 변 수 를 다른 변수 에 추가 로 삽입 하면 1MB 의 메모리 가 소모 된다.
    
    $description = strip_tags($_POST['description']);
    echo $description;
    위의 코드 는 아무런 이유 도 없 이 변 수 를 복사 했다.메모 리 를 추가 로 소모 하지 않 고 내 연 된 방식 으로 변 수 를 간단하게 출력 해 야 합 니 다.
    
    echo strip_tags($_POST['description']);
    SQL 작업 을 반복 하지 않도록 합 니 다.
    자주 저 지 르 는 오 류 는 SQL 작업 을 순환 에 두 는 것 입 니 다.이 로 인해 데이터 베 이 스 를 자주 방문 하 게 됩 니 다.더 중요 한 것 은 스 크 립 트 의 성능 이 떨 어 질 수 있 습 니 다.다음 의 예 를 들 어 하나의 순환 작업 을 하나의 SQL 구문 으로 초기 화 할 수 있 습 니 다.
    
    foreach ($userList as $user) {
      $query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
      mysql_query($query);
    }
    프로 세 스:
    
    INSERT INTO users (first_name,last_name) VALUES("John", "Doe")
    이러한 순환 방안 을 바 꾸 면 데 이 터 를 연결 하여 단일 한 데이터 베이스 작업 이 될 수 있다.
    
    $userData = array();
    foreach ($userList as $user) {
        $userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
     }
    $query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData);
    mysql_query($query);
    프로 세 스:
    
    INSERT INTO users (first_name,last_name) VALUES("John", "Doe"),("Jane", "Doe")... 
    phop 의 성능 최적화 사례 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 phop 성능 최적화 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기