kehityksen ripuli

Viime aikoina olen enimmäkseen koodilla, ei johdon kanssa, joten graniitti, joka suoristaa ylös codene paljon enemmän kuin palvelin, kuten, joten päätin lyödä muutaman rivin järjetöntä, että olin sisältöä. Jatkuvasti valmistelu valmistella hanke-esitykset, jotka on muutama aukko dramaattinen osat

  • Първото нещо което което със сигурност щеше да създаде проблеми е изключването на javascript от браузърната поддръжка. Както всяка модерна апликация така и нашия инструмент използва доста JS за AJAX ja muita dynaamisia prosesseja, jotka välittävät interaktiivisuutta ja parantaa moderni visio ja toiminnallisuus. Ajattelimme, että hyvin ratkaisu kaikkein hyväksyttävää oli evästeet-tiedot, ja sitten php varmista, että tiedot ovat oikein ja kaikki on kunnossa. Erittäin hyvä päätös, mutta lopulta siellä oli vielä enemmän kuin kunnollinen vaihtoehto. HTML mitä tehdä, jos ne tulevat osaksi noscript. Mielestäni se on kaikkein tyylikäs ratkaisu.
<noscript>
<meta http-equiv="refresh" content="0;URL=./nojs.html" />
</noscript>

Yleensä tilanne on triviaali, jos me lopettaa tukensa JS ohjataan nojs.html. Yksinkertainen ja erittäin tehokas ratkaisu

  • Php multhithreading – hyvin nishkovosta jotain erittäin hyödyllistä prosessorit, joissa on enemmän core (että mitään näytteitä, JOTTA, mutta kun monet ydinvoima-järjestelmät ja muut asiat, olut). Meidän ohjelmisto on osa, joka kerää tietoja muilta API – ja sen tuo, ja sitten meidän tietokantaan. Obovata yleensä ole ongelma, paitsi että se on tehty vähintään php multhithreading cli-tilassa, koska tämä prosessi dosatachno iso ja on automatisoitu, on tärkeää, että knalga joku tekee sen käsin. Siellä oli draama liittyy forunato prosesseja ja suoratoistona luominen lapsi prosessi-ja että käsikirjoitus ishakpasa että prikluchenia luoda uuden. Hassu on ajatus ubiwise suorittimia, että on itse asiassa käyttäytymistä ja ei multhithreading mutta se on yksityiskohtia. Ensimmäinen paikka & kun prosessi, mikä tarkoittaa, että voit jatkaa työskentelyä, mutta käsikirjoitus oli vielä ei ole käyttäytymisen muutos tarvitaan ja vakio lähtö script ohjataan – minun tapauksessani, se on parasta /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);
}

Primercheto taas on triviaali. От към производителност бях силно впечетлен със прекъсвани между вдигането на процесите и прочие направих около 50 child process-a които своя странба направиха 7800+ mysql inserts за около 30-40 сек. А машината е крайно хилава понеже ни е тестов върър преди да вдигнем приложението на реалния.

  • Mysql querysбях шокиран от една велика глупост. Имаше един код който правеше 4-5 излишни заявки към базата данни, вместо да се използва едно по тлъсто sql query и после основната работа да я отнесе php-то. Драмата беше такава, eniten- lisäksi pyyntö on esitetty, että vaadittu tieto on annettu, niin kyselyn tulos käytetään tehdä muita tutkimuksia kuin se kestää argumentteja. Melko ruma ja lihava tilanne. Myös alikysely mutta tämä on tuntemattomille vesille, luultavasti koska vasen liittyä, tai yksinkertaisesti ei ole almissani kaikki on hyvin. Sain penapisan kysely ja se toimii melko hyvin, ja, pääsääntöisesti, kuormitus laski noin 200% sama koodinpätkä.

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

Parannettu Zemanta

2 Kommentit

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

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

Jätä vastaus

Sähköpostiosoitteesi ei julkaista. Pakolliset kentät on merkitty *

Anti SPAM *