vývoj hovna

Nedávno se zabývám především s kódem, nikoli s podáváním tak, že drama, stojím s kodene jsou mnohem víc než server tak, tak jsem se rozhodl jen škrábat pár řádků o kecy, že se mi podařilo získat jejich. Tvrdě se chystá předložit projekt, co sílu otevřít dramatické části

  • Първото нещо което което със сигурност щеше да създаде проблеми е изключването на javascript от браузърната поддръжка. Както всяка модерна апликация така и нашия инструмент използва доста JS за AJAX a jiné dynamické procesy, které přenášet interaktivity a současné vize a zlepšuje funkčnost. Mysleli jsme o mnoho rozhodnutí, jak nejvíce přijatelné byl soubor cookie s informacemi a pak PHP Chcete-li zkontrolovat, zda informace je platná, a pokud je vše v pořádku. Docela gramotní řešení, ale nakonec se ještě slušné verze. HTML prováděná v noscript. Myslím, že je to nejelegantnější řešení.
<noscript>
<meta http-equiv="refresh" content="0;URL=./nojs.html" />
</noscript>

Situace je v podstatě banální, pokud přestaneme JS podpora bude přesměrován na URnojs.html. Jednoduché a velmi účinné řešení

  • Php multhithreading – velmi niškovosta je jen něco docela užitečné pro procesory s více jádro (Ne, že ednoâdreni není v pořádku, ale s mnoha jaderné systémy jsou další věci pivo). Náš software má část, která se zabývá shromažďování informací z jiných ROZHRANÍ API – a importva jej v naší databázi. Obŝovzeto žádná výzva s výjimkou, že jsme zavedli php opět s multhithreading v cli režimu, protože tento proces je dost velká a musí být atomatiziran za to, že někdo dělá ručně. Zde byl drama spojené s fokrvaneto procesů a nelze vytvořit datový proud podřízený proces-(a) že on čekal na skript priklûčabota vytvořit novou. Hloupá to zabíjí myšlenku co chování skutečně multiprocessing není multhithreading, ale zde jsou detaily. První, co jsme dali & Po soudu, což znamená skriptu pokračovat v práci, ale opět není vyžadována žádná změna v chování a standardní výstup ze skriptu přesměrování – v mém případě OK /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 je opět triviální. Výkon byl velmi zapůsobilo přerušení mezi procesy a tak dále, jsem se o 50 podřízený proces, který se obracela pryč 7800+ MySQL vložky pro o 30-40 SEK. A stroj je nesmírně citlivé, protože testujeme v″r″r před použití skutečné.

  • MySQL querys – Byl jsem šokován tím velkou hloupost. Tam byl kód, který se 4-5 zbytečné dotazy do databáze, namísto použití sql dotaz a pak tuk hlavní zaměstnání to php-it. Drama bylo takové, Většina- Další byl požadavek, aby se informace z výstupu dotazu se pak používá k vydávání dalších požadavků, jak je ona sloužila pro argumenty. Docela hnusný a tlustý situace. Poddotaz a zřejmě je neznámé území a levé spojení, nebo jednoduše nebyli abstraktní věci dobře. Mám všechno, co jsem přepsal docela dobře pracovní aplikace a zatížení jako celkově poklesla o o 200% pro stejnou část kódu.

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

Umocněn Zemanta

2 Komentáře

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

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

zanechte odpověď

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

Anti Spam *