.htaccess 파일 최적화

.htaccess 파일 최적화

성능 문제를 피하기 위해 .htaccess 파일을 최적화하려고 합니다.

내 .htaccess 파일에는 다음과 같은 내용이 있습니다.

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} bigbadbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} otherbot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} otherbot2 [NC]
RewriteRule ^.* - [F,L]

첫 번째 재작성 규칙(bigbadbot)은 초당 약 100개의 요청을 처리하는 반면, 그 아래의 다른 두 재작성 규칙은 시간당 몇 개의 요청만 처리합니다.

제 질문은 첫 번째 재작성 규칙(bigbadbot)이 트래픽의 약 99%를 처리하므로 이러한 규칙을 두 개의 별도 규칙 세트에 배치하는 것이 더 나을까요?입니다.

예를 들어:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} bigbadbot [NC]
RewriteRule ^.* - [F,L]

RewriteCond %{HTTP_USER_AGENT} otherbot1 [NC,OR] RewriteCond %{HTTP_USER_AGENT} otherbot2 [NC] RewriteRule ^.* - [F,L]

성능면에서는 뭐가 더 좋을까요? 이것을 벤치마킹해 본 사람이 있나요?

답변1

하나의 Cond가 OR 블록에서 일치하면 나머지는 처리되지 않으므로 기본적으로 성능 차이가 없어야 합니다(아무런 의미가 없습니다). 기술적으로 처음에는 OR 블록으로 인해 약간의 처리가 수행되므로 이를 분리하는 것이 약간 더 효율적일 것이라고 생각합니다.

성능 문제가 있으면 다른 곳에 노력을 집중하겠습니다. 아마도 당신이 제공하는 애플리케이션이 무엇이든 프로파일링할 것입니다. 또한 호스팅되는 경우 호스트의 동일한 서버에 너무 많은 웹사이트가 있을 수 있습니다.

관련 정보