ਵਿਕਾਸ shits

ਹਾਲ ਹੀ ਮੈਨੂੰ ਪ੍ਰਸ਼ਾਸਨ ਦੀ ਬਜਾਏ ਕੋਡ ਨਾਲ ਮੁੱਖ ਤੌਰ 'ਤੇ ਨਜਿੱਠਣ ਇਸ ਡਰਾਮੇ ਜਿਸ ਨੂੰ ਅੱਗੇ ਮੈਨੂੰ kodene ਨਾਲ ਖੜ੍ਹੇ ਅਜਿਹੇ ਸਰਵਰ ਵੱਧ ਹੋਰ ਬਹੁਤ ਕੁਝ ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ ਮੈਨੂੰ ਬਕਵਾਸ ਦੇ ਕੁਝ ਲਾਈਨਜ਼, ਜੋ ਕਿ ਬਣਾਉਣ ਲਈ ਦਾ ਪਰਬੰਧ ਗ੍ਰੰਥੀ ਫੈਸਲਾ. ਆਪਣੇ ਪ੍ਰਾਜੈਕਟ ਨੂੰ ਹੈ, ਜੋ ਕਿ ਕੁਝ ਨਾਟਕੀ ਹਿੱਸੇ ਦੀ ਖੋਜ ਲਈ ਮਜਬੂਰ ਪੇਸ਼ ਕਰਨ ਲਈ ਤਿਆਰ ਮਿਲਿਆ

  • Първото нещо което което със сигурност щеше да създаде проблеми е изключването на javascript от браузърната поддръжка. Както всяка модерна апликация така и нашия инструмент използва доста JS за AJAX ਅਤੇ ਹੋਰ ਗਤੀਸ਼ੀਲ ਕਾਰਜ ਹੈ, ਜੋ ਕਿ ਇੰਟਰਐਕਟਿਵੀ ਅਤੇ ਸਮਕਾਲੀ ਨਜ਼ਰ ਦਾ ਪ੍ਰਸਾਰਿਤ ਅਤੇ ਕਾਰਜਕੁਸ਼ਲਤਾ ਵਿੱਚ ਸੁਧਾਰ. ਸਾਨੂੰ ਕਾਫ਼ੀ ਫੈਸਲੇ ਲਈ ਸੋਚਿਆ ਸਭ ਨੂੰ ਸਵੀਕਾਰ ਦੇ ਤੌਰ ਤੇ ਕੂਕੀਜ਼ ਜਾਣਕਾਰੀ ਅਤੇ ਫਿਰ ਨਾਲ ਸੀ PHP ਤਸਦੀਕ ਕਰਨ ਲਈ ਕਿ ਕੀ ਜਾਣਕਾਰੀ ਠੀਕ ਹੈ ਅਤੇ ਕੀ ਸਭ ਕੁਝ ਠੀਕ ਹੈ. ਕਾਫੀ ਪੜ੍ਹਿਆ ਫੈਸਲੇ ਦਾ ਹੈ, ਪਰ ਅੰਤ ਨੂੰ ਹੋਰ ਵੀ ਵਰਜਨ ਵੇਖਾਈ. ਨੂੰ HTML ਖੇਡੇ ਜਾਣ, ਜੇ ਇਸ ਨੂੰ noscript ਵਿੱਚ ਪਰਵੇਸ਼ ਕਰਦਾ ਹੈ. ਮੈਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਇਹ ਸਭ ਸ਼ਾਨਦਾਰ ਦਾ ਹੱਲ ਹੈ.
<noscript>
<meta http-equiv="refresh" content="0;URL=./nojs.html" />
</noscript>

ਆਮ ਤੌਰ 'ਤੇ ਸਥਿਤੀ ਨੂੰ ਮਾਮੂਲੀ ਹੈ, ਜੇ ਸਾਨੂੰ ਰੋਕਣ ਜੇ.ਐਸ. ਸਹਿਯੋਗ ਨੂੰ nojs.html ਨੂੰ ਨਿਰਦੇਸ਼ਤ ਕੀਤਾ ਜਾਵੇਗਾ. ਸਧਾਰਨ ਅਤੇ ਬਹੁਤ ਹੀ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੱਲ ਹੈ

  • PHP multhithreading – ਬਹੁਤ ਸਾਰੇ nishkovosta ਹੋਰ ਕੋਰ ਦੇ ਨਾਲ ਪਰੋਸੈੱਸਰ ਲਈ ਕਾਫ਼ੀ ਲਾਭਦਾਇਕ ਨੂੰ ਕੁਝ ਹੁੰਦਾ ਹੈ (ਨਾ ਹੈ, ਜੋ ਕਿ mononuclear ਨਾ ਠੀਕ ਹੈ, ਪਰ ਬਹੁਤ ਕੁਝ ਪ੍ਰਮਾਣੂ ਸਿਸਟਮ ਨੂੰ ਹੋਰ ਬੀਅਰ ਹਨ). ਸਾਡੇ ਸਾਫਟਵੇਅਰ ਦਾ ਇੱਕ ਹਿੱਸਾ ਹੈ, ਜੋ ਕਿ ਹੋਰ ਜਾਣਕਾਰੀ ਨੂੰ ਇਕੱਠਾ ਨਾਲ ਸੰਬੰਧਿਤ ਹਨ API ਨੂੰ – ਉਸ ਨੂੰ ਅਤੇ ਮੈਨੂੰ ਸਾਡੇ ਡੇਟਾਬੇਸ ਡੈਨੀ ਵਿਚ importva. Obshtovzeto ਨੂੰ ਛੱਡ ਕੇ, ਜੋ ਕਿ ਇਸ ਨੂੰ CLI ਮੋਡ ਵਿੱਚ PHP multhithreading ਹੈ, ਕਿਉਕਿ ਇਸ ਕਾਰਜ ਨੂੰ dosatachno ਵੱਡਾ ਹੈ ਅਤੇ ਲੋੜ ਹੈ ਨਾਲ ਮੁੜ ਅਹਿਸਾਸ ਹੋਇਆ ਕਿਸੇ ਵੀ ਚੁਣੌਤੀ ਦਾ atomizing ਜਾ ਕਰਨ ਲਈ ਇਸ ਨੂੰ ਹੱਥ ਦੇ ਕੇ ਇਸ ਨੂੰ ਕਰ ਕਿਸੇ ਨੂੰ ਜ਼ਰੂਰੀ ਹੈ. ਇੱਥੇ ਇੱਕ ਡਰਾਮਾ fokrvaneto ਕਾਰਜ ਨਾਲ ਸਬੰਧਤ ਕੀਤਾ ਗਿਆ ਸੀ ਅਤੇ ਕੋਈ ਵੀ ਆਰੰਭ ਸਟਰੀਮਿੰਗ ਬੱਚੇ ਦੀ ਪ੍ਰਕਿਰਿਆ-ਅਤੇ ਇੱਕ ਸਕਰਿਪਟ ਹੈ, ਜੋ ਕਿ ਇੰਤਜ਼ਾਰ ਕਰ ਇੱਕ ਨਵ ਬਣਾਉਣ ਲਈ priklyuchabota ਨੂੰ. Silly ਹੈ ਕਿ ਕੀ ਅਸਲ ਵਿੱਚ ਵਿਵਹਾਰ ਅਤੇ 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 ਬੱਚੇ ਨੂੰ-ਇੱਕ ਕਾਰਜ ਹੈ, ਜੋ ਕਿ ਇਸ ਦੇ stranba ਕੀਤੀ 7800+ MySQL ਦੇ ਬਾਰੇ ਸ਼ਾਮਿਲ ਕਰਦਾ ਹੈ 30-40 ਸਕਿੰਟ. ਇਕ ਮਸ਼ੀਨ ਬਹੁਤ ਹੀ ਕਮਜ਼ੋਰ ਹੈ, ਕਿਉਕਿ ਸਾਨੂੰ ਕਾਰਜ ਨੂੰ ਅੱਗੇ ਟੈਸਟ varar ਅਸਲੀ ਇਕੱਠਾ ਕਰਨ ਲਈ.

  • MySQL querys – ਮੈਨੂੰ ਇੱਕ ਬਹੁਤ ਹੀ ਬੇਵਕੂਫ਼ੀ ਕੇ ਹੈਰਾਨ ਕੀਤਾ ਗਿਆ ਸੀ. ਉੱਥੇ ਇੱਕ ਕੋਡ ਹੈ, ਜੋ ਕਿ ਬਣਾਇਆ ਗਿਆ ਸੀ 4-5 ਡਾਟਾਬੇਸ ਨੂੰ ਬੇਲੋੜੀ ਮੰਗ ਨੂੰ, ਇਸ ਦੀ ਬਜਾਏ ਇੱਕ ਹੋਰ ਫ਼ੈਟ SQL ਕਿਊਰੀ ਮੁੱਖ ਕੰਮ ਵਰਤ ਅਤੇ ਫਿਰ ਲਿਆਉਣ ਲਈ php-ਇਸ ਦਾ. ਨਾਟਕ ਅਜਿਹੇ ਸੀ, ਸਭ- напред се правеше една заявка която взимаше информация после изхода от заявката се използваше да се направят други заявки като тя служеше за аргументи. Доста грозна и тлъста ситуация. Subquery а е непозната територия явно както и left join или просто не са били обмисляни нещата добре. Хванах пренаписах заявката всичко се получи доста добре и като цяло натоварването падна с около 200% за същата част от кода.

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

Zemanta ਨਾਲ ਲੈੱਸ

2 ਟਿੱਪਣੀ ਨਹੀਂ

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

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

ਕੋਈ ਜਵਾਬ ਛੱਡਣਾ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀ ਕੀਤਾ ਜਾ ਜਾਵੇਗਾ. ਦੀ ਲੋੜ ਹੈ ਖੇਤਰ ਮਾਰਕ ਕੀਤੇ ਹਨ, *

ਵਿਰੋਧੀ ਸਪਮ *