Windows тапшырма пландоочусунун жумушун иштеткен ар бир адам, эртеби-кечпи, иштөө убакытындагы түшүнүксүз айырмачылыктарга чалынып калат. Буйрук сабында 5 мүнөттө иштей турган PHP скрипти Windows Task Scheduler аркылуу иштетилгенде күтүлбөгөн жерден 20 мүнөт талап кылынат. Ошол эле колдонуучу, бирдей укуктар, ошол эле код - аткаруу убактысы төрт эсе көп. Ал жерде эмне болду?
Сааттан кийин Мүчүлүштүктөрдү оңдоо, Процесс мониторунун сеанстары жана конфигурациянын сансыз салыштыруулары, чечим укмуштуудай жөнөкөй эле: Windows тапшырмаларды пландаштыруу демейки боюнча процесстин төмөнкү артыкчылыктуулугун белгилейт. Task Scheduler ичиндеги тапшырмалар үчүн демейки маани болуп саналат 7 (Нормалдуу төмөн), жок 4-6 (Кадимки), сиз күткөндөй. Бул кичинекей көрүнгөн айырма I/O интенсивдүү операцияларда өндүрүмдүүлүктүн чоң жоготууларына алып келиши мүмкүн.
Майда-чүйдөсүнө чейин Windows артыкчылык даражалары болуп саналат:
| Нарк | Артыкчылык | Сүрөттөө |
|---|---|---|
| 0 | Реалдуу убакыт | Жогорку артыкчылык (сак!) |
| 1 | Жогорку | Жогорку артыкчылык |
| 2-3 | Нормадан жогору | Кадимки жөнүндө |
| 4-6 | Кадимки | Интерактивдүү процесстер үчүн стандарт |
| 7 | Нормалдуу төмөн | Тапшырма пландаштыргычта DEFAULT |
| 8-9 | Нормалдуу төмөн | Андан да төмөн |
| 10 | Бош | Эң төмөнкү артыкчылык |
Тапшырмаларды пландаштырууда артыкчылык маселеси көп кырдуу: Тапшырманы экспорттоп, XMLди карасаңыз, көп учурда төмөнкүлөрдү табасыз жок Приоритетти жөндөө. Андан кийин Windows демейки маанини унчукпай колдонот 7. GUI бул маанини экспорттоодо көрсөтөт, бирок ал тапшырмада ачык сакталбайт. Төмөнкү артыкчылык CPU убактысынын азыраак болушуна гана алып келбестен, ошондой эле:
- Тыюуланган дисктин киргизүү/чыгаруу операциялары
- Төмөнкү тармак артыкчылыгы
- Файлдык тутумдун кэштешүүсү начар
- Маалыматтар базасына кирүү кечигүүлөрү
Эгер сиз бир эле колдонуучуну колдонсоңуз жана "Эң жогорку артыкчылыктар менен иштетүү" функциясын иштетсеңиз да, тапшырма ар кандай артыкчылыктары бар башка Windows станциясында/иш столунда иштейт. Көйгөйдү аныктоо үчүн, PowerShell аркылуу бардык тапшырмаларды алардын иш жүзүндөгү артыкчылыктары менен тизмелей аласыз.:
38b7fa6c77dc344401485cd338ea4128
Дээрлик бардык тапшырмаларым артыкчылык менен аткарылды 7. Биз азыр бир эле учурда бир нече иштин артыкчылыктуулугун атайын оңдоп жатабыз:
38b7fa6c77dc344401485cd338ea4128
Приоритетти койгондон кийин 4 (Адатта) менин PHP сценарийим күтүлгөн 300 секунданын ичинде кайра иштеди. Эгер сиз конкреттүү колдонуучу каттоо эсеби менен тапшырмаларды конфигурациялаган болсоңуз, муну жөн гана 10-сапка төмөнкүдөй киргизсеңиз болот:
38b7fa6c77dc344401485cd338ea4128