Bloga dön
·8 dk okuma·productdevbook

Slack Mac'te Neden Bu Kadar Bant Genişliği Kullanır (Ve Bunu Nasıl Görürsünüz)

Slack, macOS'ta en yüksek sesli ağ kullanan uygulamalardan biridir. Sebebinin analizi ve makinenizde ne yaptığını tam olarak nasıl göreceğinizi anlatıyoruz.

  • App-specific
  • macOS
  • Bandwidth
  • Productivity

Menü çubuğunuza bir bakıyorsunuz ve Slack siz yazmıyorken bile 2 MB/sn çekiyor. Activity Monitor, hiçbiri ağ izleyicinizde gördüğünüze toplamı vermeyen farklı toplamlarla dört farklı "Slack Helper" girişi gösteriyor. Slack bandwidth usage'ın yaptığı işle orantısız hissetmesinin nedenini hiç merak ettiyseniz, cevap mimarisindedir — Electron, websocket'ler, yardımcı süreçler ve insanların düşündüğünden daha ağır olan varsayılan A/V yığını.

Bu bir Slack saldırı yazısı değil. Slack gerçekten faydalıdır ve ağı kullanma şekli çoğunlukla mantıklıdır. Ancak macOS'ta süreç başına sayılar kafa karıştırıcı olabilir ve birkaç ayar bilmeye değerdir.

Slack bandwidth usage'ın neden yüksek olduğu (mimari cevap)

Mac'te Slack bir Electron uygulamasıdır. Bu, başlık altında Chromium paketlediği anlamına gelir ve Chrome gibi işi birden fazla süreç arasında böler:

  • Slack — ana süreç, UI, koordinasyon.
  • Slack Helper — yardımcı oluşturucular ve arka plan işi.
  • Slack Helper (GPU) — kompozisyon için GPU süreci.
  • Slack Helper (Renderer) — UI için bir veya daha fazla oluşturucu süreci.
  • Slack Helper (Plugin) — eklenti sunucusu (mevcut sürümlerde nadir).

Her yardımcının kendi PID'i vardır. Her birinin kendi ağ soketleri olabilir. "Mac'te Slack ne kadar bant genişliği kullanıyor" diye sorduğunuzda, üst ve tüm yardımcılar arasında toplamanız gerekir — veya sizin için onları katlayan bir araç kullanın.

Yardımcı süreç katlama
ova her Slack Helper PID'i tek bir "Slack" satırına yuvarlar. Yedi kısmi sayı yerine gerçek toplamı görürsünüz.

Hatta gerçekte ne var

Birkaç trafik kategorisi, ne kadar katkıda bulundukları sırasına göre kabaca:

1. Websocket

Slack, Slack'in sunucularına kalıcı bir websocket açar. Bu varlık güncellemelerini, yeni mesajları, yazma göstergelerini, tepkileri, dosya yükleme bildirimlerini, kanal durum değişikliklerini ve ping'leri taşır. Boştayken websocket küçüktür — birkaç KB/sn — ancak UI'da "anında" hissetmesini beklediğiniz her olay bu bağlantı üzerinden bir veya daha fazla çerçevedir.

Çok sayıda yoğun kanalınız varsa, websocket tek başına iş saatlerinde 50-150 KB/sn'de oturabilir.

2. HTTP getirmeleri

UI yüklemeleri, avatar görüntüleri, kanal geçmişi, arama sonuçları, link önizlemeleri, emoji. Bunlar kısa patlamalardır — bugün ilk kez bir kanal açmak birkaç MB getirir; ikinci kez açmak önbelleğe çarpar.

3. Dosya transferleri

Bir kanala 30 MB'lık bir görüntüyü sürükleyin ve yukarı bağlantınızda temiz bir artış göreceksiniz. Slack dosya depolamasına yükler, sonra dosya hakkında kanalı bilgilendirmek için websocket'i pingler. İstemciniz, sırayla, başkalarının paylaştığı dosyaların önizlemelerini indirir. Bol miktarda tasarım dosyası paylaşan bir takım, sadece önizlemelerde günde yüzlerce MB hareket ettirebilir.

4. Ses ve video çağrıları

Bu büyük olanı. Bir Slack huddle (yalnızca ses) yön başına birkaç yüz Kbps'dir. Video huddle'lar birkaç Mbps'dir. Video üzerinde ekran paylaşımı 5+ Mbps itebilir. Videosunu kod çözdüğünüz katılımcı sayısıyla çarpın.

5. Arka plan güncellemeleri ve analitik

Slack otomatik güncelleyici arka planda çalışır ve yeni sürümleri periyodik olarak çeker. Artı telemetri — özellik kullanımı, çökme raporları — KB/gün cinsinden ölçülen, çoğunlukla ihmal edilebilir.

Tipik bir günden gerçek sayılar

Yaklaşık 25 kanalla Slack çalıştıran tek bir Mac'ten sayılar, gün boyunca üç veya dört aktif, toplamda 45 dakika iki huddle:

  • Boşta (uygulama açık, etkileşim yok): kararlı durumda 5-30 KB/sn. Birkaç yoğun kanalla daha yüksek.
  • Yoğun bir kanala yazma: varlık ve okuma makbuzları aktığında 50-100 KB/sn'ye kısa artışlar.
  • Bir kanalı soğuk açma: geçmiş derinliğine ve avatar sayısına bağlı olarak 1-5 MB.
  • 45 dakikalık huddle (1:1, video açık): toplam ~600-900 MB.
  • Tipik tam iş günü, huddle yok, ılımlı etkinlik: 100-300 MB.
  • İki video huddle'lı bir gün: kolayca 1-2 GB.

Bunlar yaklaşık alanlardır. Takımınızın emoji alışkanlıkları düşündüğünüzden daha fazla önem taşır.

Mac'inizde nasıl gerçekten görürsünüz

Üç seçenek, faydalılık olarak artmaktadır:

Activity Monitor

Activity Monitor → Network sekmesini açın. "Sent Bytes" veya "Rcvd Bytes"a göre sıralayın. Üst süreci ve yardımcıları süreç başlangıcından bu yana kümülatif toplamlarla ayrı satırlar olarak göreceksiniz. Akıl kontrolü olarak faydalı, "Slack şu anda ne yapıyor" için daha az faydalı.

nettop

Terminal'de:

nettop -P -m route

Canlı güncellenen süreç başına görünüm. Aynı sorun — Slack ve yardımcıları ayrı satırlar olarak görünür.

Yardımcı katlamalı bir menü çubuğu izleyicisi

ova tam olarak bu desen etrafında inşa edilmiştir. Tüm yardımcılar arasında birleşik oranla tek bir "Slack" satırı, son etkinliğin spark grafiği ve artışın ne zaman gerçekleştiğini görebileceğiniz kaydırılabilir bir zaman çizelgesi gösterir. "Slack"e tıklayın ve isterseniz yardımcı başına ayrıntıya inebilirsiniz.

Slack'in gerçekte ne kullandığını görün

ova Slack Helper PID'lerini üst uygulama altında katlar ve canlı + tarihsel uygulama başına bant genişliği gösterir. Yerel, imzalanmış, ~3 MB.

Download for macOS

Slack bandwidth usage'ı azaltma — gerçekten önemli olan ayarlar

"Slack'te bant genişliği tasarrufu" tavsiyelerinin çoğu geri dönüştürülmüş ve yanlıştır. İşte gerçekten işe yarayan:

1. Emoji animasyonu: kapalı

Slack → Tercihler → Animasyon ve Görüntü Önizlemeleri → Kaydırırken emojiyi animate et. Kapalı. Hem bant genişliğini (animasyonlu GIF'ler büyüktür) hem de CPU'yu azaltır.

2. Inline medya görüntüleme: gerektiğinde

Aynı tercihler bölmesi. "Görüntüleri ve dosyaları göster"i manuel olarak ayarlamak, genişletmek için tıklamanız anlamına gelir, bu da paylaşılan her görüntünün otomatik indirilmesini önler. Karşılığında biraz daha az zengin bir UI; bant genişliği kısıtlı bir bağlantı için kolay kazanım.

3. Ses ve video varsayılanları

Bir huddle'da yapabilirsiniz:

  • Videonuzu kapatın — o segment için yüklemenizi ~%80 düşürür.
  • Diğer katılımcıların videosunu gizleyin (gallery → speaker view) — kod çözme yükünü azaltır.
  • Slack ifşa ediyorsa video kalitesini düşürün.

Bir hotspot'ta uzun toplantılar için, video kapalı doğru varsayılandır.

4. İhtiyacınız olmadığında Slack'i kapatın

Aşikar geliyor. Slack küçültüldüğünde websocket'ini kapatmakta zor zamanlar geçirir — pencereyi kapatmak macOS'ta uygulamayı kapatmaz. Cmd-Q yapar. Ölçülü bir bağlantıdaysanız ve gerçek zamanlı mesajlaşmaya ihtiyacınız yoksa, kapatın.

5. Hangi çalışma alanlarının otomatik başlatıldığını sınırlayın

Her çalışma alanı kabaca bir yardımcı seti ve bir websocket çalıştırır. Üç çalışma alanı her şeyden üç tane demektir. Aktif olarak kullanmadığınız bir çalışma alanını kaldırmak bant genişliği payını kaldırır.

Sayılar araçlar arasında neden eşleşmez

Sık karışıklık: Activity Monitor Slack'in bugün 240 MB kullandığını söylüyor, menü çubuğu izleyiciniz 380 MB diyor, nettop başka bir sayı gösteriyor. Sebepler:

  • Farklı ölçüm pencereleri. Activity Monitor süreç başlangıcından bu yana sayar. Bir menü çubuğu izleyicisi bugün, bu hafta veya yuvarlanan sayabilir.
  • Yardımcı dahil etme. Bir araçtaki üst süreç satırı yardımcıları hariç tutarsa, onları katlayan bir araçtan daha azını göreceksiniz.
  • Örnekleme vs toplam sayaçlar. nettop yoklar; Activity Monitor çekirdek sayaçlarını okur; iyi bir izleyici aynısını yapar. Aynı pencere üzerinden aynı kapsamla ölçülürse, sayılar yakından uyuşmalıdır.

Düzeltme bir araç seçmek ve karşılaştırmalar için tutarlı şekilde kullanmaktır. ova'nın uygulama başına satırı tek bir sayıdır — tüm Slack yardımcıları arasında birleşik, seçtiğiniz bir pencere üzerinden — bu da elma-elma karşılaştırmasını kolaylaştırır.

Hotspot veya sınırlı bir bağlantıda Slack

Telefonunuza tethering yapıyorsanız veya veri sınırı olan bir yerden çalışıyorsanız, Slack hızla birikir. Pratik kurallar:

  1. Hücreseldeki video huddle'ları yok. Yalnızca ses huddle'ları tolere edilebilir. Video değildir.
  2. Medyanın otomatik indirilmesi: kapalı. Birinin gözden geçirdiğiniz bir kanalda 200 MB'lık bir tasarım dosyası paylaşmasından sizi kurtarır.
  3. Eski kanalları açmayın. Soğuk açılışlar geçmiş getirir. Kaydırmanız gerekmiyorsa, yapmayın.
  4. Odaklanmış oturumlar arasında Slack'i kapatın. "Varlık" için çalışır halde bırakmak yerine, e-posta veya DM'lere güvenin ve bloğunuzun başında ve sonunda Slack'i kontrol edin.
  5. Web istemcisini kısa süreliğine kullanın. Tarayıcı sürümü, tek bir sekmede, Electron uygulamasından daha hafif olabilir — daha az yardımcı, otomatik güncelleme arka plan işi yok.

Slack'i alternatiflerle karşılaştırma

Bant genişliği açısından, kabaca sıra:

  • iMessage / Mail — push tabanlı, neredeyse sıfır boşta.
  • Telegram, WhatsApp — küçük boştaki ayak izi, ılımlı mesaj trafiği.
  • Discord — Electron, Slack ile benzer mimari, benzer boştaki profil.
  • Microsoft Teams — boşta Slack'ten daha ağır, çağrılarda benzer.
  • Slack — boşta orta-ağır, çağrılarda ağır.
  • Zoom — boşta hafif, çağrılarda ağır (başka yerlerdeki notlara bakın).

Bu geçiş yapmak için bir öneri değildir — Slack'in bant genişliği profili yaptıkları için makuldür. Ama "ağı" suçluyorduysanız ve aslında günde 4 GB'lık bir mesajlaşma istemcisi ise, bu bilmeye değer.

Toparlarken

Mac'te Slack bandwidth usage yüksektir çünkü kalıcı bir websocket, birden fazla yardımcı süreç ve inline medya ve video çağrıları içeren bir özellik kümesi olan bir Electron uygulamasıdır. Gördüklerinizin çoğu normaldir. Bazıları yapılandırılabilirdir. Hepsi izleyiciniz yardımcıları tek bir "Slack" satırının altında katladığında akıl yürütmek daha kolaydır.

ova'yı bir gün çalıştırın, Slack'in toplamınıza katkısını izleyin ve maliyetin aldığınız değere uyup uymadığına karar verin. Çoğu insan için Slack buna değer; ölçülü bağlantılardaki insanlar için, birkaç ayar değişikliği çok fazla tasarruf sağlar.