Qo'l yo'riqlari

Prefork va Worker MPM nima va Apache'da qanday tanlash kerak?

  • 12 o'qish uchun daqiqalar
  • Hostragons Jamoasi
Prefork va Worker MPM nima va Apache'da qanday tanlash kerak?

Ushbu blog yozuvi, Apache veb-serveridagi ikki muhim Ko'p Jarayon Moduli (MPM) bo'lgan Prefork va Worker MPM'larni batafsil ko'rib chiqadi. Prefork va Worker nima, asosiy farqlari, xususiyatlari, afzalliklari va samaradorlik taqqosotlari muhokama qilinadi. Prefork MPM'ning jarayonlarga asoslangan tuzilishi va Worker MPM'ning ipga asoslangan tuzilishi o'rtasidagi farqlar ta'kidlanadi. Qaysi MPM qaysi senariylar uchun yanada mos kelishi mumkinligi haqida kishi uchun qiyin holatlar va dasturiy sohalar taqdim etiladi. MPM tanlashda e'tibor berilishi kerak bo'lgan muhim jihatlar va Apache hujjatlarini qanday ishlatish bo'yicha yo'l-yo'riq beriladi. Natijada, loyihangizning talablariga mos keladigan to'g'ri MPMni tanlashingizga yordam beradigan keng qamrovli qo'llanma taqdim etiladi.

Prefork va Worker MPM: Nima?

Apache veb-serverining eng muhim xususiyatlaridan biri — Ko'p Jarayon Modullari (MPM) orqali ishlash tarzini o'zgartira olishidir. MPM'lar, serverning kelayotgan so'rovlarni qanday boshqarishini va qanday usullar bilan ishlashini belgilaydi. Ushbu modulardan eng ko'p ishlatiladigan ikkitasi Prefork va Worker MPM'dir. Har ikkisi turli arxitekturalarga ega bo'lib, serverning samaradorligini va resurslardan foydalanishni bevosita ta'sir qiladi. Shu sababli, loyihangizning talablari uchun eng mosini tanlash juda muhimdir.

Prefork MPM har bir ulanish uchun alohida bir jarayon (process) ishga tushiradi. Bu, har bir so'rovni mustaqil tarzda ishlash imkonini beradi va bir jarayondagi xato boshqa jarayonlarga ta'sir qilmaydi. Biroq, yuqori trafikda ko'p jarayon ishga tushirish server resurslarini iste'mol qilishi mumkin. Worker MPM esa bir nechta ip (thread)dan foydalanib, kam jarayonlar bilan ko'p ulanishlarni boshqarishi mumkin. Bu, resurslardan foydalanishni optimallashtirish bilan birgalikda samaradorlikni oshirishi mumkin.

Quyidagi jadvalda, Prefork va Worker MPM'larining asosiy xususiyatlari taqqoslanadi:

Prefork va Worker MPM: Nima?
Xususiyat Prefork MPM Worker MPM
Jarayon modeli Har bir ulanish uchun alohida jarayon Kop iş parçacıklı jarayonlar
Resurslardan foydalanish Yuoqori Past
Xavfsizlik Yuoqori (izolatsiya) O'rta (Iplar bir xil manzilni bo'lishadi)
Mos senariylar Past trafikda, xavfsizlik birinchi o'rinda bo'lgan holatlar Yuqori trafikda, samaradorlikning muhim bo'lgan holatlar

Prefork va Worker MPM o'rtasidagi asosiy farq, jarayon va ip foydalanish jarayonidir. Tanlovingiz veb-dasturingizning ehtiyojlariga, kutilayotgan trafik yukiga va xavfsizlik talablariga bog'liq bo'ladi. Qaysi MPM siz uchun yanada maqbul ekani haqida qaror qilayotganda, har ikkisini ham afzalliklari va kamchiliklarini diqqat bilan baholash muhimdir.

Apache MPM'lari: Asosiy Farqlar

Apache HTTP Server, veb-serverning asosiy vazifalarini bajarish uchun modulli tuzilishga ega. Bu modullardan eng muhimlaridan biri — Ko'p Jarayon Modullari (MPM'lar) deb ataladi. MPM'lar, Apache'ning mijozlardan kelayotgan so'rovlarga qanday javob berishini, jarayonlarni qanday boshqarishini va resurslarni qanday ishlatishini belgilaydi. Asosiy jihatlari, Prefork va Worker MPM'lari, Apache'ning eng keng tarqalgan ikki modeli bo'lib, har biri o'zining afzalliklari va kamchiliklariga ega.

Turli MPM'lar

  • Prefork MPM
  • Worker MPM
  • Event MPM
  • mpm_winnt (Windows uchun)
  • mpm_netware (Netware uchun — endi ishlatilmaydi)

Prefork va Worker MPM'lari o'rtasidagi asosiy farq, jarayonlar va iplarni qanday boshqarishidir. Prefork MPM har bir ulanish uchun alohida jarayon yaratgan holda, Worker MPM bir necha ipdan foydalanib ko'p ulanishlarni boshqarishi mumkin. Bu holat, server resurslarining foydalanish xossasini va umumiy samaradorlikni bevosita ta'sir qiladi.

Apache MPM'lari: Asosiy Farqlar
Xususiyat Prefork MPM Worker MPM
Jarayon modeli Kop jarayon (har ulanish uchun bir jarayon) Kop ip (har jarayonda bir necha ip)
Resurslardan foydalanish Yuqori xotira iste'mol Past xotira iste'mol
Barqarorlik Yuqori barqarorlik (bitta jarayon halok bo'lsa, boshqalar ta'sir qilmaydi) Ip darajasida muammolar to'liq jarayonni ta'sir qilishi mumkin
Mos senariylar Yuqori trafikda, barqarorlik muhim bo'lgan holatlar Resurslar cheklangan, yuqori bir vaqtning o'zida talablar qat'iy bo'lgan holatlar

Bu farqlar, qaysi MPM qaysi veb-server sozlamasi uchun yanada mos ekanligini belgilashda muhim rol o'ynaydi. Masalan, yuqori trafik o'lchov va barqarorlikning oldindan kelishi kerak bo'lgan muhitda Prefork MPM yaxshiroq tanlov bo'lishi mumkin bo'lsa, resurslar cheklangan va yuqori bir vaqtning o'zida ishlashni talab qiladigan holatlar uchun Worker MPM yanada samarali bo'lishi mumkin.

Prefork MPM: Xususiyatlari va Afzalliklari

Prefork MPM — Apache veb-serverining eski va mustahkam ko'p jarayon modullaridan biridir. Ushbu modul har bir ulanish uchun alohida jarayon yaratarak ishlaydi. Dastlab belgilangan sonli jarayonlar ishga tushiriladi va server talablar bilan yuzma-yuz kelganida yangi jarayonlar yaratiladi. Prefork va foydalanish asosan barqarorlik talab qilingan muhitlarda afzal ko'riladi, chunki bitta jarayondagi xato boshqa jarayonlarga ta'sir qilmaydi.

Prefork MPM'ning asosiy maqsadi har bir ulanishni izolyatsiyalashgan muhitda ishlashdan iborat bo'lib, xavfsizlik va barqarorlikni ta'minlashdir. Ushbu yondashuv, modullarning resurslarni iste'mol qilishi bilan bog'liq bo'lishi mumkin, ammo ba'zi holatlarda bu xarajat, keltirgan xavfsizliklarga arziydi. Xususan, eski tizimlar yoki xavfsizlik birinchi darajali talab bo'lgan hollarda Prefork MPM hali ham dolzarbdir.

Prefork MPM: Xususiyatlari va Afzalliklari
Xususiyat Izoh Afzalliklari
Jarayon asosidagi ishlash Har bir ulanish uchun alohida jarayon yaratadi. Yuqori xavfsizlik, izolyatsiya.
Past xato tarqalishi Bitta jarayondagi xato boshqa jarayonlarga ta'sir qilmaydi. Barqarorlik, ishonchlilik.
Oson sozlash Sodda va tushunarli sozlash variantlarini taqdim etadi. Tez o'rnatish, oson boshqarish.
Keng muvofiqlik Turli xil platformalarda va eski tizimlarda ishlay olish qobiliyatiga ega. Fleksibilite, muvofiqlik.

Prefork va keltirgan afzalliklar, ayniqsa resurs vaqti cheklangan holatlar yoki dasturlar barqarorligi muhim bo'lgan senaryolarni nimanki afzal qiladi. Har ne bo'lsa ham, zamonaviy alternativalar ko'proq samaradorlikni taklif etsa ham, Prefork MPM'ning oddiylik va xavfsizlik ta'minlashi ko'plab tizim boshqaruvchilari uchun jozibali tanlovdir.

Afzalliklar

  1. Yuqori xavfsizlik: Har bir jarayon izolyatsiyalangan bo'lsa, xavfsizlik zaifliklari boshqalariga ta'sir qilmaydi.
  2. Barqarorlik: Bitta jarayondagi qolqon hamma serverga ta'sir qilmaydi.
  3. Oson sozlash: Sodda va tushunarli sozlashni taqdim etadi.
  4. Keng muvofiqlik: Ko'pgina operatsion tizimler va eski apparatlar bilan muvofiq.
  5. Xato tuzatishni osonlashtirish: Har bir jarayon alohida bo'lishi tufayli xato tuzatish asosan osonroq.

Samaradorlik

Prefork MPM'ning samaradorligi, jarayon asoslangan tuzilishi sababli, Worker MPM'ga nisbatan odatda pastroqdir. Har bir ulanish uchun alohida jarayon yaratish, tizim resurslarining asosiy iste'moliga sabab bo'lishi mumkin. Bu holat, ayniqsa yuqori trafikda veb-saytlar uchun samaradorlikda muammolar keltirib chiqaradi. Biroq, past trafik va xavfsizlikka qaratilgan dasturlar uchun etarli samaradorlikni taqdim etishi mumkin.

Foydalanish qulayligi

Prefork MPM'ning tuzilishi va boshqaruvi, Worker MPM'ga nisbatan osonroqdir. Asosiy sozlash variantlari ko'pincha etarli va murakkab sozlamalarni talab qilmaydi. Bu holat, ayniqsa, tajribali tizim boshqaruvchilari uchun katta afzallik qiladi. Bundan tashqari, xato tuzatish jarayonlari ham osonroq, chunki har bir jarayon alohida jarayonda ishlaganda muammolar manbaini aniqlash osonlashadi.

Worker MPM: Xususiyatlari va Foydalari

Worker MPM (Ko'p Jarayon Moduli), Apache veb-serverining ko'p jarayon va ko'p ip (thread) modelini qo'llayotgan modulidir. Prefork va MPM'ga nisbatan kam sifat iste'moliga ega bo'lishi sababli ko'p sonli bir vaqtning o'zida ulanishlarni boshqarishi mumkin. Bu, ayniqsa, yuqori trafikli veb-saytlar va dasturlar uchun muhim afzallik keltiradi. Worker MPM har bir jarayon ko'p sonli threadlar yaratishga imkon beradi va sistem resurslarini yanada samarali ost qildirmayotganligi sababli ishlaydi.

Worker MPM'ning asosiy maqsadi, server resurslarini optimallashtirish orqali samaradorlikni oshirishdir. Har bir ip mustaqil so'rovni ishlab chiqishi mumkin, bu esa serverni bir vaqtning o'zida ko'p foydalanuvchilarga xizmat ko'rsatish imkonini beradi. Bu model, xususan, xotira foydalanishining kamayishiga olib keladi va serverning umumiy samaradorligini oshiradi. Worker MPM, dinamik kontent taqdim etuvchi va ma'lumotlar bazasi ulanishlarini ishlatadigan veb-dasturlar uchun ideal echimdir.

Worker MPM: Xususiyatlari va Foydalari
Xususiyat Izoh Afzalliklari
Kop ip qo'llab-quvvatlash Har bir jarayonda bir necha ipni ishga tushiradi. Kam resurs iste'moli, ko'p sonli bir vaqtning o'zida ulanishlarni boshqarish.
Resurslardan samarali foydalanish Xotira va protsessorlardan foydalanishni optimallashtiran. Yuoqori samaradorlik, kam apparat xarajatlari.
Bitta vaqtning o'zida ko'p ulanishlar Birinchi vaqtning o'zida ko'proq foydalanuvchilarga xizmat qilish imkoniyatini beradi. Yuqori trafikli o'rnatishga idealdir.
Dinamik kontent Ma'lumotlar bazasi ulanishlari va dinamik kontent taqdim etish uchun mosdir. Veb-dasturlar uchun optimallashtirilgan.

Worker MPM'ning yana bir muhim xususiyati, sozlanishi hisoblanadi. Server ma'murlari, iplar sonini, jarayonlar sonini va boshqa parametrlarni o'z ehtiyojlariga qarab tartibga solishi mumkin. Bu esa serverning muayyan ish yukiga qarab optimallashtirilishi imkoniyatini berishi mumkin. Bundan tashqari, Worker MPM, Prefork MPM'ga nisbatan tezroq ishga tushirilishi va to'xtatilishi mumkin, bu esa serverni uskunalash va yangilash jarayonini osonlashtiradi.

Hosildorlik

Worker MPM samaradorlikni oshirish uchun zestini saqlaydi. Ipga asoslangan tuzilishi bilan har bir jarayon ko'p ishlarni amalga oshirishi mumkin. Bu, ayniqsa CPU va xotira resurslari cheklangan holatlarida katta afzallik keltiradi. Worker MPM, bir vaqtning o'zida ko'p sonli so'rovlarni boshqarish orqali serverning javob berish muddatini qisqartirish va foydalanuvchi tajribasini yaxshilaydi.

Foydalar

  1. Birinchilar uchun ko'p sonli bir vaqtning o'zida ulanish tengligini oshiradi
  2. Kam resurs iste'moli
  3. Yuqori samaradorlik va javob muddatlari
  4. Dinamik kontentni taqdim etish uchun optimallashtirilgan
  5. Oson sozlash va boshqarish
  6. Birinchi vaqtning o'zida tez ishga tushish va to'xtatish

Resurslarni boshqarish

Worker MPM resurslarni boshqarishda Prefork MPM'ga nisbatan samaraliroq. Har bir jarayon bir necha iplarni ishga tushirishi uchun imkon berish orqali, sistem resurslarini yanada samaradorlik bilan ishlatadi. Bu, ayniqsa xotira iste'molini kamaytirib, serverning umumiy samaradorligini oshirgan holda amalga oshadi. Worker MPM, tuzilgan trafik ostidagi barqaror samaradorlikni ta'minlaydi.

Worker MPM'ning afzalliklaridan biri ham — kengaytirilgan qobiliyatidir. Server ma'murlari, zaruriyatlariga qarab kerakli miqdordagi ip va jarayonlar sonini oshirish orqali serverning imkoniyatlarini osonlik bilan kengaytirishlari mumkin. Bu, ayniqsa rivojlanayotgan veb-saytlar va dasturlar uchun muhimdir. Worker MPM zamonaviy veb-server talablariga mos kelish uchun yaratilgan va yuqori samarali, ishonchli echimlarni taqdim etadi.

Samaradorlik taqqoslash: Prefork va Worker

Apache veb-serverida Prefork va Worker MPM'lar o'rtasidagi samaradorlik taqqoslash, qaysi modul muayyan ish yukida yaxshiroq ishlashi mumkinligini anglashni ta'minlaydi. Prefork MPM har bir ulanish uchun alohida jarayon yaratib ishlaydi. Bu yondashuv, jarayonning izolyatsiyasi via xuddi ko'taradi. Endi, ko'p jarayonlar yaratish, sistem resurslarini iste'mol qilishga olib kelishi mumkin va asosan yuqori trafikli veb-saytlarda samaradorlik masalalariga sabab bo'lishi mumkin.

Samaradorlik taqqoslash: Prefork va Worker
Xususiyat Prefork Worker
Jarayon modeli Kop jarayon Kop ish ipi
Resurs iste'mol Yuoqori Past
Xavfsizlik Yuoqori O'rta
Mos ish yuklari Past-O'rta trafik, Xavfsizlik afzallighi Yuqori trafik, Resurslardan foydalanishni optimallashtirish

Worker MPM esa ko'p ish ipi ishlatish orqali bir vaqtning o'zida bir necha ulanishlarni boshqarishi mumkin. Bu, Prefork'ga nisbatan kamroq resurs iste'molini ta'minlaydi va serverga ko'p sonli ulanishlarni boshqarishga imkon beradi. Biroq, bir ipdagi muammo barcha jarayonni ta'sir qilishi mumkin, bu esa xavfsizlik jihatidan ba'zi xavf-xatarlar tug'dirishi mumkin. Samaradorlik taqqoslashlar odatda Worker'ning yuqori trafikli senaryolar uchun yaxshiroq tanlov ekanligini ko'rsatmoqda.

  • Xotira boshqaruvi: Worker xotira iste'molini yaxshiroq boshqaradi.
  • CPU foydalanish: Worker CPU'dan yanada samarali foydalanadi.
  • Birinchi vaqtning o'zida ko'p ulanishlar: Worker bir vaqtning o'zida ko'proq ulanishlarni qo'llab-quvvatlaydi.
  • Xavfsizlik kamchiliklari: Prefork jarayonlari o'zaro isolatsiya qilinganligi sababli qiyinligini ta'minlaydi.
  • Barqarorlik: Prefork esa ko'proq barqaror bo'lishi mumkin.

Qaysi MPM yaxshiroq samaradorlik ko'rsatishi esa asosan serverning apparati, internet trafik quvvatiga va xavfsizlik ehtiyoji bo'yicha bog'liq. Masalan, yuqori xavfsizlik talab qilinadigan va past trafikli veb-saytlar uchun Prefork yaxshi tanlov dir. Katta miqdordagi trafik bilan bog'liq va resurslarni samaradorligini ta'minlaydigan veb-saytlar uchun Worker yaxshi kengaytirilgan tanlovdir. Shu sababli, to'g'ri qaror berish uchun har ikkala MPM'ning afzalliklari va kamchiliklarini diqqat bilan o'rganish muhimdir.

Prefork va Worker o'rtasida tanlov qilish, veb-serverning o'ziga xos ehtiyojlari va ustuvorliklariga bog'liq. Har ikkala MPM ham muayyan senaryolarda afzalliklarga ega va to'g'ri sozlash bilan eng yaxshi samaradorlikka erishish mumkin. Samaradorlik sinovlari o'tkazish va server resurslarini kuzatish orqali, qaysi MPM sizning ehtiyojlaringizga mos kelishini aniqlashingiz mumkin.

Qaysi birini tanlashingiz kerak? Edge Case Senaryolar

Qaysi birini tanlashingiz kerak? Edge Case Senaryolar

Prefork va Worker MPM'lari o'rtasida tanlov qilinganida, ba'zi maxsus holatlar yoki qiyin senaryolar qaror qabul qilish jarayoningizga sezilarli ta'sir ko'rsatishi mumkin. Bu senaryolar dasturingiz talablariga, server resurslariga va kutish trafik qattiqlashishiga bog'liq ravishda o'zgarishi mumkin. Masalan, yuqori trafikda va yuqori resurs iste'molidan talab qiladigan dinamik veb-saytlar uchun boshqa yondashuv talab qilinishi mumkin bo'lgan holatlar mavjud, boshqa tarzi yanada oddiy, engil kontentli veb-saytlar uchun turli strategiyalar amalga oshirilishi mumkin.

Quyidagi jadval, Prefork va Worker MPM'larining qaysi vaziyatda yanada ko'p usuli yaxshiroq bo'lgan ba'zi misollarni qisqacha bayon etadi:

Qaysi birini tanlashingiz kerak? Edge Case Senaryolar
Vaziyat Prefork MPM Worker MPM
Yuqori trafik, dinamik veb-saytlar Kamroq maslahat beriladi (yuqori resurs iste'moli) Tavsiya etiladi (samarali resurslardan foydalanish)
Statik kontentga ega veb-saytlar Mos keladi Mos keladi (biroq, ortiqcha murakkablik qo'shishi mumkin)
Xavfsizlikka qaratilgan dasturlar Tavsiya etiladi (har bir jarayon izolyatsiyalangan) Kamroq maslahat beriladi (bir jarayonda bir nechta ip)
Cheklangan server resurslari Kamroq maslahat beriladi (yuqori xotira iste'moli) Tavsiya etiladi (kam xotira iste'moli)

Tanlov mezonlari

  • Trafik qattiqligi: Veb-saytingiz qanchalik hozirgi trafikdan kutayotganizga ishonch hosil qiling.
  • Resurs iste'moli: Dasturingizning resurslari (CPU, xotira) ehtiyoji.
  • Xavfsizlik talablar: Dasturingizning xavfsizlik oqilaligi.
  • Server resurslari: Mavjud server resurslarining hajmi.
  • Dasturiy arxitektura: Dasturingiz iplar uchun xavfsizmi yoki emas.

Masalan, agar dasturingiz iplar uchun xavfsiz bo'lmasa va xavfsizlik oldin keladigan bo'lsa, Prefork MPM yaxshiroq tanlov bo'lishi mumkin. Ammo, agar server resurslaringiz cheklangan bo'lsa va yuqori trafikni boshqarishingiz kerak bo'lsa, Worker MPM yanada samarali echim taqdim etishi mumkin. Shu sababli, qaroringizni qilayotganda bu jihatlarni diqqat bilan o'rganiyiz muhimdir. Unutmang, har bir vaziyat o'ziga xosdir va eng yaxshi natijaga erishish uchun alohida holatingizga eng mos keladigan konfiguratsiyani tanlashingiz kerak.

Prefork va Worker MPM'lari o'rtasida tanlov qilayotganda, faqat nazariy afzalliklar va kamchiliklar emas, balki dasturingiz va server muhitining maxsus talablarini ko'rib chiqishingiz muhim. Bu nafaqat ko'proq oydin va samarali qaror berishingizga yordam beradi.

Prefork va Worker MPMning qo'llaniladigan sohalari

Prefork va Worker MPM'lari, turlicha qo'llanish talablariga va server resurslariga qarab turli senaryolarda foydalaniladi. Prefork, barqaror va xavfsiz variant sifatida qabul qilingan. Worker esa yanada yuqori samaradorlik va resurslar iste'molidan foydalanishni taqdim etadi. Shu sababli, qaysi MPM'ni ishlatish kerak bo'lganini tanlashi, dasturiy ehtiyojlar, kutilayotgan trafik yuklari va server qobiliyatini inobatga olish kerak.

Veb-saytlarning va dasturlarining turli ehtiyojlarini hisobga olgan holda, Prefork va Worker MPM'larining har biri o'ziga xos afzallik va kamchiliklarga ega. Masalan, yuqori trafikda dinamik kontent taqdim qiladigan veb-saytlar uchun Worker MPM yaxshiroq bo'lishi mumkin. Kamroq trafikda statik kontent taqdim etadigan veb-saytlar uchun esa Prefork MPM yetarli bo'lishi mumkin.

Qo'llaniladigan sohalar

  • Elektron tijorat saytlari: Yuqori trafik va dinamik kontent uchun Worker MPM tanlishi mumkin.
  • Korxonalar saytlari: Orta darajadagi trafik va barqarorlik uchun Prefork MPM imkoniyat bo'lishi mumkin.
  • Bloglar va xabar saytlari: Yuqori oqish traffiki va dinamik kontent yangilanishlari uchun Worker MPM yanada yaxshi samaradorlikni taqdim etadi.
  • API serverlari: Yuqori so'rov trafik va tez javoblar uchun Worker MPM ideal hisoblanadi.
  • Statik veb-saytlar: Past resurs iste'moli va oddiy tuzilishi tufayli Prefork MPM yetarli bo'lishi mumkin.

Bundan tashqari, ba'zi hollarda gibrid echimlar ham ko'rib chiqilishi mumkin. Masalan, Prefork va Worker MPM'larining xususiyatlarini birlashtiruvchi va har ikkisini ham afzalliklardan foydalanish maqsadida maxsus sozlamalar ishlatilishi mumkin. Bunday echimlar, ayniqsa murakkab va maxsus server muhitlarida foydali hisoblanadi.

Qaysi MPMni tanlashda serverdagi boshqa dasturlar va xizmatlarni hisobga olish juda muhim. Masalan, ma'lumotlar bazasi serverlari yoki boshqa fon jarayonlari, server resurslarni iste'mol qilib, MPM tanloviga ta'sir qilishi mumkin. Shuning uchun, mukammal tizim tahlilini o'tkazish orqali eng mos MPMni tanlash, veb-sayt yoki dastur umumiy samaradorligini va ishonchliligini ta'minlash uchun juda muhimdir.

MPM'larni tanlashda e'tibor berilishi kerak bo'lgan jihatlar

Ushbu maqolani ulashing:

Hostragons Jamoasi

Xosting, serverlar va domen nomlari bo'yicha mutaxassislar jamoamizdan eng so'nggi qo'llanmalar. Keling, loyihangiz uchun to'g'ri yechimni birgalikda topamiz.

Biz bilan Bog'laning