VPN ulashmasida Visual Studio sekin: nima uchun saqlash borib-kelishga aylanadi
Ulashma orqali tahrirlash saqlash, menyular va o'zgarishlarni kuzatishni borib-kelishga aylantiradi. Ish nusxasini mahalliyga ko'chiring va tarixni aylanib o'tish o'rniga bitta obyekt sifatida yuboring.
Mahalliy diskdan bir soniyada ochiladigan yechim tunnel orqali yetib boriladigan ulashmadan o'ttiz soniyada ochiladi. Tunnel o'zi kamdan-kam sabab bo'ladi. O'zgaradigan narsa shuki, ilgari mahalliy chaqiruv bo'lgan amallar sinxron borib-kelishga aylanadi, va muharrir oyna ko'rinishidan oldin ularning bir nechtasini bajaradi. Quyidagi mexanizm har birining nima uchun qimmat ekanini va qaysilarini olib tashlash mumkinligini tushuntiradi.
Fayl ochiq turganda muharrir nima qiladi
O'zgarishlarni kuzatuvchi muharrir har bir ochiq faylda obunani ushlab turadi. Mahalliy jild bu obunani tarmoqsiz fayl tizimidan xizmat qiladi. Ulashma orqali xuddi shu xususiyat takroriy metadata o'qishlariga tushib qolishi mumkin, chunki bildirishnoma modeli SMB orqali bir xil ishlamaydi. O'zgarishlarni kuzatishni o'chirish adolatli birinchi tajriba, chunki u tunnelga tegmasdan so'rovlarning butun sinfini olib tashlaydi.
Loyiha tizimi o'z trafigini qo'shadi. Yechimni yuklash kataloglarni sanaydi, loyiha fayllarini o'qiydi va SDK yoki paketlarni tekshirishi mumkin, yo'l uzoq bo'lganda har bir tekshiruv borib-kelishdir. Ko'p loyihali yechim bu sonni ko'paytiradi, shuning uchun ochilish vaqti fayl o'lchamlari taxmin qilganidan tezroq o'sadi.
Menyu ko'rinishidan oldin tugaydigan qobiq qidiruvlari
Windows IDE bilan hech qanday aloqasi bo'lmagan ikkinchi to'xtash manbasini qo'shadi. Explorer va uning qobiq kengaytmalari har safar kontekst menyusi ochilganda avval ishlatilgan printerlar, ulangan disklar va yorliqlarni qayta hal qiladi. Bu nishonlar tunnel yetib bormaydigan tarmoqda bo'lsa, har bir hal qilish vaqt chegarasi tugaguncha bloklanadi va shundan keyingina menyu chiziladi. Shuning uchun faylning o'zi odatdagidek ochilayotganda o'ng tugma bir necha soniya osilib qolishi mumkin.
O'lik ulanishlar va printer navbatlarini olib tashlang yoki faqat haqiqatan o'zingiz turgan tarmoqda mavjudlarini qoldiring. Xuddi shu mulohaza fonda yo'lni hal qiladigan barcha narsaga tegishli, jumladan so'nggi fayllar ro'yxatlari va mahkamlangan papkalar.
net use
Get-Printer | Select-Object Name, PortName
Measure-Command { Get-ChildItem \files\proj | Out-Null }
Nima uchun mahalliy ish nusxasi yutadi
Ulashmada to'g'ridan-to'g'ri ishlash tahrirlash-yig'ish-sinov tsikli uchun eng yomon sozlama, chunki muharrir, kompilyator va versiya nazorati mijozi o'sha uzoq fayllarni har biri alohida o'qiydi. Ularning har biri o'z borib-kelishini to'laydi, yig'ish esa har fayl uchun bir marta to'laydi. Ombor orqali surish bilan mahalliy nusxa kichik kesib o'tishlar to'fonini bitta qasddan qilingan kesib o'tish bilan almashtiradi. Aloqa yaxshilanmadi; kesib o'tishlar soni qulab tushdi.
Bu sozlash mashqi emas, tizimli o'zgarish, va tunnel sozlamalari ishlamaganda aynan shu sabab ishlaydi. Bu muvaffaqiyatsizlik usulini ham aniq qiladi: mahalliy nusxa bilan yig'ish hali ham sekin bo'lsa, ulashma hech qachon muammo bo'lmagan.
Tarixni bitta obyekt sifatida ko'chiring
Omborning o'zi tunneldan o'tishi kerak bo'lsa, tarixni aylanib o'tish o'rniga bitta obyektda yuboring. To'plam bitta fayl va shuning uchun bitta uzatish, minglab bo'sh obyektlarni aylanib o'tadigan checkout esa minglab kesib o'tishga tushadi. Mercurial va Git ikkalasi ham bu shaklni qo'llab-quvvatlaydi.
hg bundle --base 9f2c1a7e outgoing.hg
hg unbundle outgoing.hg
git bundle create repo.bundle main
git clone repo.bundle repo
Bazaviy reviziya to'g'ri topilishi kerak bo'lgan qism, chunki qancha tarix sayohat qilishini u hal qiladi. Hamma narsani to'plamlash ishlaydi va aloqani isrof qiladi, oxirgi umumiy o'zgarishdan to'plamlash esa faqat narigi tomonda yo'q narsani ko'chiradi.
Tarmoqli kenglikni ayblashdan oldin uchta amalni o'lchang
Uch narsani alohida o'lchang: bitta kichik fayl ochildi, bitta katalog ro'yxatga olindi, bitta saqlash tugadi. Uchtasi ham fayl soniga mutanosib sekin bo'lsa, xarajat borib-kelishlardir. Bittasi tiqilib qolsa, qolganlari yaxshi bo'lsa, tarmoqli kenglikni emas, yetib bo'lmaydigan resursga qarshi vaqt chegarasini gumon qiling. Har bir ishga tushirishda mashina qaysi tarmoqda bo'lganini yozib qo'ying, chunki boshqa profilga qayta ulanadigan noutbuk urinishlar orasida javobni o'zgartirishi mumkin.
Keyin xuddi shu uchtasini loyihaning mahalliy nusxasiga qarshi takrorlang. Farq ulashma narxi, va kimdir yechim sifatida tezroq aloqani taklif qilganda aytilishi kerak bo'lgan raqam shu.