fejlesztési szarik

Nemrég foglalkozik elsősorban kóddal helyett az adminisztráció olyan drámák, aki előtt állok kodene sokkal több, mint az ilyen szerver, ezért úgy döntöttem, hogy beleírt néhány sornyi nonszensz, hogy sikerül létrehozni. Javítottak készül bemutatni a projekt, ami arra kényszerítette a nyitó kissé drámai részek

  • Първото нещо което което със сигурност щеше да създаде проблеми е изключването на javascript от браузърната поддръжка. Както всяка модерна апликация така и нашия инструмент използва доста JS за AJAX és más dinamikus folyamatok segítségével továbbítják az interaktivitás és a kortárs látás és tökéletesíteni. Úgy gondoltuk, sokat, hogy a legelfogadhatóbb volt cookie információkat, majd php annak ellenőrzésére, hogy az információk érvényesek, és ha minden rendben van. Elég írástudó döntés, de végül úgy tűnik több szalonképes változata. HTML hogy lehet játszani, ha jön a noscript. Azt hiszem, ez a legelegánsabb megoldás.
<noscript>
<meta http-equiv="refresh" content="0;URL=./nojs.html" />
</noscript>

Általában a helyzet triviális, ha leáll a JS támogatás lesz irányítva a nojs.html. Egyszerű és nagyon hatékony megoldás

  • php multhithreading – Sok nishkovosta valami nagyon hasznos processzorok több mag (nem a egymagos nem OK, de egy csomó dolgot nukleáris rendszerek egy sört). A szoftver egy része, amely foglalkozik információgyűjtés más API – ő és én importva adatbázisunkban Danny. Obshtovzeto nincs kihívás, kivéve, hogy rájött, újra multhithreading php cli módban van, mert ez a folyamat dosatachno nagy és kell atomatiziran valaki elengedhetetlen csinálni kézzel. Itt volt egy dráma kapcsolódó fokrvaneto folyamatok és az áramlás nem csak létrehozni gyermek folyamatot-és egy script, hogy várta, hogy priklyuchabota hogy hozzon létre egy új. Silly, hogy megölte többprocesszoros ötlet, hogy mi valójában a viselkedés és nem multhithreading de ezek részletei. Most előadott & a tárgyalás után, ami azt jelenti, hogy folytassák munkájukat script még nem történt változás a viselkedésben szükség, és a standard kimenetre a szkript átirányítja – az én esetemben is, hogy /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 ismét e triviális. Tól a teljesítmény voltam nagyon lenyűgözött tarkított között az emelési folyamatok, és így nem találhatóak 50 utódfolyamat-a, amely megtette stranba 7800+ mysql lapkák körülbelül 30-40 sek. A gép rendkívül gyenge, mert varar teszt, alkalmazás előtt fel valódi.

  • mysql querys – Megdöbbentem nagy ostobaság. Volt egy kódot, amely az 4-5 szükségtelen kéréseket az adatbázishoz, használata helyett egy gyümölcsöző sql lekérdezés, majd a fő munka, hogy php-it. A dráma volt,, jobb- напред се правеше една заявка която взимаше информация после изхода от заявката се използваше да се направят други заявки като тя служеше за аргументи. Доста грозна и тлъста ситуация. Subquery а е непозната територия явно както и left join или просто не са били обмисляни нещата добре. Хванах пренаписах заявката всичко се получи доста добре и като цяло натоварването падна с около 200% за същата част от кода.

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

Növeli Zemanta

2 Hozzászólások

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

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

Válaszolj

E-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *

anti spam *