2013-03-17 5 views
0

페이지로드시 실행되는이 코드 끝에이 코드가 있습니다. 우리는 하루에 약 5 만 명의 고유 방문자를 얻습니다 (반복 횟수 제외). 우연히도 될 수 있지만 구현 이후로는 임의의 서버로드 문제가있었습니다.작은 PHP 코드 - 서버로드가 발생합니까? 도움말 최적화

그래서 내가 부탁 해요 무슨 일이

1) 사람은/확인을 거부 할 수 있습니다 ... 있는지 여부를 아래의 코드를 할 수있는 사실 원인이 문제에?

2) 최적화 할 수 있습니까?

그냥 참고하시기 바랍니다 :

- 나는 워드 프레스 레이아웃의 헤더 파일에이 기능을 붙어있다.

-은 그것은 바닥 글

에서 배 10 +라고 - 나는 아직

를 로그를 확인하지 않은-은 Nginx에

를 사용하여 VPS 서버입니다

코드 목적 ... 코드에 시간의 백분율로 문자열을 표시하도록 지시하는 함수에 백분율을 지정합니다 (따라서 60을 입력하면 문자열이 6을 표시해야 함을 나타냅니다). 시간의 0 %). 바닥 글의 각 항목은 고유 한 난수를 생성합니다.

코드 : 에코 :

function writeRndString($theString, $percent) { 
$randno = rand(1,100); 

if($randno <= (int)$percent) { 
    echo "Random String: " . $theString; 
    echo "\n\n"; 
} 
} 
+1

코드는 매우 복잡하지 않습니다. 이 함수를 10 번 이상 호출한다고해도 괜찮습니다. PHP 로그를 보셨습니까? 아파치 로그? – MatRt

+0

의견에 감사드립니다. 나는 아직 로그를 확인하지 않았다. (그러나 나는 확실히 간다.) Btw, NGINX를 통해 실행 중입니다. (해당 정보로 게시물을 수정합니다). – Mike

+1

내 제안 된 솔루션 : CSS로 숨겨진 모든 문자열을 작성하고 JavaScript를 사용하여 무작위 비율에 따라 문자열을 표시합니다.그런 다음 모든 방문자에 대해 동일한 페이지를 캐싱 할 수 있으며 사용자의 CPU가 작업을 수행합니다. –

답변

0

이것은 매우 간단한 기능, 당신은 여러 번 호출해도, 빨리해야한다. 매일 50000 개로, 초당 약 2 페이지입니다.

가능한 경우 몇 분 동안 제거하고 서버로드를 확인하십시오. 그것은 당신이 생각하는 것보다 훨씬 더 많이 호출 될 수 있습니다.

0

Maby ....

당신은에 $를 잊어 버렸습니다 "임의의 문자열". theString; 그리고 alitte bether maby는 실제로 필요하지 않은 변수를 사용하지 마십시오. maby는 반환에게 사용

function writeRndString($theString, $percent) { 
    if (rand(1, 100) <= (int) $percent) { 
     return "Random String: " . $theString . "\n\n"; 
    } 
} 

PHP :

<?php 
echo "blablabla" . writeRndString($x, $y); 
?> 
+0

죄송합니다. 사과드립니다. 나는 그것을 게시하기 전에 변수 이름을 편집했다. 종종 "돼지 고기", "똥"등과 같은 이상한 변수 이름을 사용하기 때문에 좀 덜 이상하게 보이게 만들었습니다. 어쨌든 원래 코드에서 맞습니다. 그래도 고마워. – Mike

+0

나는 그렇게 생각했다 ;-) – user666