개발 장난

내가 kodene 스탠드 누구 전에 드라마는 서버보다 훨씬 더 많은 그래서 최근에 나는 대신에 관리 코드와 주로 거래, 그래서 만들 관리 말도 몇 줄을 남겼하기로 결정. 부스트는 다소 극적인 부분의 개방을 강제로 자신의 프로젝트를 제시하기 위해 준비하고있다

  • Първото нещо което което със сигурност щеше да създаде проблеми е изключването на javascript от браузърната поддръжка. Както всяка модерна апликация така и нашия инструмент използва доста JS за AJAX 및 상호 작용과 현대 비전을 전송하고 기능을 개선 다른 동적 프로세스. 우리는 대부분 허용을 만들기에 대해 많은 생각을 한 다음 쿠키 정보와 함께 있었다 PHP는 모든 것이 잘 경우 정보가 유효한지 여부를 확인하고합니다. 아주 글을 읽고 결정하지만 마지막으로 더 흉 버전을 표시. HTML 이 NOSCRIPT에 오면 재생합니다. 나는 가장 우아한 해결책이라고 생각.
<noscript>
<meta http-equiv="refresh" content="0;URL=./nojs.html" />
</noscript>

우리는 JS 지원 nojs.html로 리디렉션됩니다 중지하면 일반적으로 상황은 간단하다. 간단하고 매우 효율적인 솔루션

  • PHP는 multhithreading – 많은 nishkovosta 더 많은 코어와 프로세서에 대한 매우 유용 뭔가 (아닌 싱글 코어의 확인이 아니라 여러 가지 핵 시스템은 다른 맥주입니다). 우리의 소프트웨어는 다른 정보를 수집 다루는 부분이 API – 그녀와 나는 우리의 데이터베이스 대니에 importva. 그것은이 과정이 dosatachno 크고 사람에게 손으로 그것을 할 필수적이다 atomatiziran 할 필요가 있기 때문에 CLI 모드에서 PHP를 multhithreading 다시 실현하는 것을 제외하고 아무 문제 Obshtovzeto. 여기에 드라마 fokrvaneto 프로세스와 연관 만 만들 수 없습니다 흐름 자식 프로세스-기다렸다 스크립트는 새를 만들 priklyuchabota하기. 실제로 행동과 multhithreading하지 무엇 멀티 아이디어를 살해하지만, 이러한 세부 사항입니다 바보. 대부분의 제시 & 아직 행동을 요구하고 스크립트의 표준 출력의 변화가 자신의 작업 스크립트를 계속하지 의미 재판 리디렉션 할 후 – 내 경우뿐만 아니라에 /DEV / 널 (null) 🙂 Накрая структурата на тази част от кода изглеждаше така
$pid = pcntl_fork();
if ($pid == -1) {
die('could not fork');
}else if ($pid) {
// we are the parent
echo "I'm parent  \n";
pcntl_wait($status); //Protect against Zombie children
} else {
// we are the child
echo "I'm a child $timer  \n";
exec("$command > /dev/null &");
exit (0);
}

다시 사소한 전자 Primerčeto. От към производителност бях силно впечетлен със прекъсвани между вдигането на процесите и прочие направих около 50 child process-a които своя странба направиха 7800+ mysql inserts за около 30-40 сек. А машината е крайно хилава понеже ни е тестов върър преди да вдигнем приложението на реалния.

  • Mysql querysбях шокиран от една велика глупост. Имаше един код който правеше 4-5 излишни заявки към базата данни, вместо да се използва едно по тлъсто sql query и после основната работа да я отнесе php-то. Драмата беше такава, 가장- 우선은 인수로서 제공 다른 요청을 확인하는 데 사용되는 응용 프로그램의 결과했다 정보 요청했습니다. 꽤 추한 지방 상황. 하위 쿼리 하지만 분명히 낯선 영토와 왼쪽 가입하거나 잘 것들을 고려되지. 겁에 질린 요청은 모든 것이 매우 담담했다 재 작성하고 전체 부하에 대한 하락 200% 동일한 코드 조각에 대한.

В общи линии това са нещата на последък с които се заниамваме и немога да кажа че е скучно но понякога се изумявам от разни необмисляни парчета код които трябва да поправям а най стеращното е че често са мои 😆

Zemanta에 의해 향상된

2 코멘트

  1. И аз имам тегления на данни, сложени в crontab-a. Пробвах преди със & в края, но ставаше пиково натоварване, грозна история. Сега съм ги оставил, като свърши единия процес, да пуска другия, но това е ужасТ :> Като зацикли някъде и всичко отива по дяволитетова го решавам като килвам старите процеси, като дойде време да се пуска новия, но това е още по-голям ужасТ, защото губя данни. Та ще се се опитам да имплементирам, твоето решене по този въпрос. Благодарско! 🙂

    1. Ами по моя метод хубавото е че информацията може да се обработва от няколко процеса едновременно но това също ти гарантира по голямо натоварване 😉 Баланса между натоварване и скорост винаги е много тънък. Всичко опира до тестове.

회신을 남겨주

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드는 표시됩니다 *

안티 스팸 *