PHP 높 은 병발 문제 해결(opcache)

php 높 은 병발 opcache
오늘 일 할 때 고객 의 서버 를 접 하 게 되 어 업무 논리 가 비교적 간단 하 다.pv 는 120 w 정도 로 추산 합 니 다.아 리 클 라 우 드 2c4g 서버 를 사용 합 니 다.아침부터 렉 이 걸 려 서 서버 에 로그 인 한 후 부하 가 890 까지 되 었 는 지 확인 했다.
나중에 어떻게 든 조정 해 봐.갑자기 어떤 선배 가 말 한 것 이 생각 났 다.opcache 를 켜 라.정말 빨 라 질 것 이다.
그래서 나 는 바로 정 리 를 시 작 했 고 과정 은 매우 간단 했다.
1.phop 에 들 어가 면 ini 는 opcache 를 검색 합 니 다.
2.대응 하 는 매개 변 수 를 수정 합 니 다(아래)

zend_extension=opcache.so     #     php7                   
[opcache]
;opcache  
opcache.enable=1

;CLI   ,PHP  OPcache
opcache.enable_cli=1

;OPcache        ,  MB
opcache.memory_consumption=128

;PHP            (string interning)        。  ,          1000    “foobar”, PHP                                     ,   999               。                 ――                      php-fpm    ,         ,         php-fpm     。        ,            ,       。
           (megabytes)    ,       16,   16MB,   4MB
opcache.interned_strings_buffer=8

;                    PHP  。             ,          PHP     。
            200,     PHP 5.5.6     100000,PHP 5.5.6      1000000。     200 1000000  。
opcache.max_accelerated_files=10000

;         (    ), 0        
opcache.revalidate_freq=60

;        “       ”。                                 ,    PHP      PHP         ,                   。     1          。
opcache.fast_shutdown=1

;    (   1),OPcache  opcache.revalidate_freq              (timestamp)        。
         (   0),opcache.revalidate_freq    ,PHP         。              ,            ,                  ,          
              0,     ,     PHP web   。
opcache.validate_timestamps=0

;  Opcache File Cache(   ),       ,      Opcache opcode          ,       ,           .
  PHP   /tmp   Cache  Opcode        ,    PHP      .
opcache.file_cache=/tmp
4.php 서버 를 다시 시작 합 니 다(설정 에 문제 가 있 으 면 오류 보고 후 다시 시작 합 니 다)
5.확장 이 opcache 가 있 는 지,phopinfo()에서 볼 수 있 는 지 확인 합 니 다.
6.프로그램 에 해당 하 는 오류 가 있 는 지 확인 하고 열 면 일부 프로그램 에 영향 을 줄 수 있 습 니 다.(특히 주석 에 의존 하 는 프로그램 은 주석 을 삭제 하 는 것 이 잘못 될 수 있 습 니 다)
7.검증 효과 완료.
간단하게 말하자면 opcache 가 왜 php 의 효율 을 가속 화 시 켰 는 지php 는 해석 형 언어 로 실행 할 때마다 해석 기 를 통 해 번역 하여 바이트 코드 를 만들어 야 하 며 프로그램 이 정형 화 된 후에 기본적으로 변 하지 않 는 다.opcache 는 이 내용 을 메모리 에 캐 시 합 니 다.불필요 한 노동 을 반복 하 는 것 을 낮 추고 부담 을 줄 였 다.성능 대응 에 대해 서 는 내일 그림 을 올 리 겠 습 니 다.효과 가 여전히 뚜렷 하 다.서버 부터 만부 하 에서 70%정도.

더 자세 한 설정 설명 이 있 습 니 다.필요 한 것 이 있 으 면 보 셔 도 됩 니 다.

1 opcache.enable boolean
 2        。       ,          。        ini_set()        opcache.enable   ,        。                    。
 3 
 4 opcache.enable_cli boolean
 5     CLI     PHP        。           。
 6 
 7 opcache.memory_consumption integer
 8 OPcache        ,       。
 9 
10 opcache.interned_strings_buffer integer
11               ,       。 PHP 5.3.0              。
12 
13 opcache.max_accelerated_files integer
14   OPcache                 。             { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 }                。             200,     PHP 5.5.6     100000,PHP 5.5.6      1000000。
15 
16 opcache.max_wasted_percentage integer
17         ,     。        ,   OPcache            。
18 
19 opcache.use_cwd boolean
20         ,OPcache                      ,             。            ,           。
21 
22 opcache.validate_timestamps boolean
23         ,   OPcache     opcache.revalidate_freq               。        ,      opcache_reset()    opcache_invalidate()         OPcache,         Web              。
24 
25 opcache.revalidate_freq integer
26                    ,     。     0          , OPcache         。
27        opcache.validate_timestamps          ,           。
28 
29 opcache.revalidate_path boolean
30            ,     include_path             。   ,                 。
31 
32 opcache.save_comments boolean
33         ,                        ,                 。                                   ,   : Doctrine, Zend Framework 2    PHPUnit。
34 
35 opcache.load_comments boolean
36         ,          ,           。        opcache.save_comments     ,           。
37 
38 opcache.fast_shutdown boolean
39         ,            。                Zend                        ,                 。
40 
41 opcache.enable_file_override boolean
42         ,       file_exists(), is_file()    is_readable()    ,          ,           。           PHP             ,        。         opcache.validate_timestamps   ,              。
43 
44 opcache.optimization_level integer
45                  。
46 
47 opcache.inherited_hack boolean
48       PHP 5.3      ,OPcache          DECLARE_CLASS             。        ,OPcache                  。               DECLARE_CLASS    ,                   ,       。
49       PHP 5.3       ,         。
50 
51 opcache.dups_fix boolean
52           “      ”         。
53 
54 opcache.blacklist_filename string
55     OPcache        。           ,               ,       。                ,       。        (;)          。
56 
57               :
58 
59 ;            
60 /var/www/broken.php
61 ;     x        
62 /var/www/x
63 ;      
64 /var/www/*-broken.php
65 
67 opcache.max_file_size integer
68                     。    0         。
69 
70 opcache.consistency_checks integer
71          0  ,OPcache      N           。 N            。               ,         。
72 
73 opcache.force_restart_timeout integer
74                ,           。          ,  OPcache              ,      。
75          opcache.log_verbosity_level     3    3      ,                   。
76 
77 opcache.error_log string
78     OPcache          。     ,    stderr,                (       Web           )。
79 
80 opcache.log_verbosity_level integer
81     OPcache        。      ,      (0)     (1)       。         :  (2),  (3)   (4)。
82 
83 opcache.preferred_memory_model string
84     OPcache        。     ,OPcache         ,      ,           。
85          : mmap,shm, posix    win32。
86 
87 opcache.protect_memory boolean
88           ,                。        。
89 
90 opcache.mmap_base string
91       Windows             。     PHP                   。          “          ”   。
92 
93 opcache.restrict_api string
94                     PHP      OPcache API   。          "",     
95
여기 서 PHP 의 높 은 병발 문제 해결(opcache)에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 PHP 의 높 은 병발(opcache)내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기