Web uygulaması başlangıç ​​zamanı gerçekten önemli mi?


11

Birisi ile uygulama başlangıcında başlatma kodunun eklenmesi hakkında konuştu ve başlangıç ​​saatinde artışa neden olduğundan şikayet etti. Gerçekten bir neden ifade edemedi (bağırsak hissi ya da bir şey, bilmiyorum). Bu bir ağır kullanım uygulaması değildir ve yaklaşık bir dakika içinde başlar, yılda birkaç kez devreye alırız.

Bir süre önce SO ile ilgili sorular üzerine bu tür tavsiyeleri okuduğumu hatırlıyorum, insanlar "cezayı karşılayabiliyorsanız" damgasıyla sayfaya erişmek yerine başlangıçta başlatmayı tavsiye ediyorlar.

30 saniyeden 4-5 dakikaya kadar başlayan web uygulamalarıyla çalıştım, ancak çevrimiçi olduklarında sallandılar.

O zaman neyi özlüyorum? Finansal piyasa, tıbbi uygulamalar, uzay araştırmaları vb. İçin ... Bilmiyorum ... gibi hayati bir uygulama olmadığı sürece, başlangıç ​​zamanı gerçekten önemli mi?

PS: Kesinlikle web uygulamalarına atıfta bulunuyorum, masaüstü uygulamaları yıldırım hızıyla başlamak zorunda.


Uygulamanın başlatılması için tanımlanmış işlevsel olmayan bir gereklilik var mı, yoksa bu sadece geliştirme içinde bir tartışma mı?
StuperUser

@StuperUser: gerek yok, sadece bir tartışma.
JohnDoDo

Aslında bunun daha iyi sorulacağı bir Kullanıcı Deneyimi sitesi var.
Cyclops

@Cyclops: Aslında kullanıcı tarafından değil, çitin sunucu tarafındaki nedenlerle daha fazla ilgileniyorum.
JohnDoDo

Yanıtlar:


18

Geliştirme sırasında büyük bir faktör olabilir: platformunuz çalışan bir uygulamada kod değiştirmeyi desteklemiyorsa, başlangıç ​​zamanı geri bildirim döngünüzün bir parçası olur ve orada 30 saniye bile acı verir ve üretkenlik için bir tehdit oluşturur.

Üretim ortamı için gerçekten önemli değil; küçük bir kesinti süresi kabul edilebilir ve 5 dakika hala çok fazla değil, ya da değil ve bir çeşit canlı geçişi uygulamak zorundasınız.


Evet, geliştirme döngüsü hakkında çok düşündüm, ancak virgül değiştirdiğimiz, konuşlandırdığımız, değişken bir adı değiştirdiğimiz, konuşlandırdığımız gibi değil. Kişisel olarak geliştirmeye günde en fazla 10 kez dağıtıyorum. Bir dakikalık bir başlangıç ​​veya 1.2 çok fazla bir fark değil.
JohnDoDo

7
@JohnDoDo: Bunun ne kadarı gerçekten doğal iş akışı ve ne kadar uzun bir konuşlandırmadan alışkanlıktan kaçınıyor? Hızlı bir geri bildirim döngüsü üretkenliğe büyük ölçüde yardımcı olabilir. Bazen küçük, artımlı değişiklikler yapmak ve sonucu hemen görmek gerçekten ihtiyacınız olan şeydir. 50 yıl önce insanlar kağıt üzerine programlar yazdılar, onları bir operatöre gönderdiler ve ertesi gün basılı bir sonuç aldılar - bazen sadece bir derleyici hatası. Bu size çalışmak için çok verimsiz bir yol gibi gelmiyor mu? Pek çok programcı için günde 10 konuşlamanız böyle görünüyor.
Michael Borgwardt

1
Mümkünse, bir "sahte" başlatma yapma veya geliştirme sırasında başlatma sürelerini hızlandırmak için yapıların test verileriyle diske serileştirilmesi seçeneğini değerlendirin.
Vinko Vrsalovic

Vinko ile hemfikirim, Hata ayıklama modunda bina yaparken pahalı init () işlevlerini kapatmanın bir yolu var mı? Yine de, başlattığınız şeyin Dev ve Prodüksiyon konusunda size farklı sonuçlar vereceğini düşünmeyin.
AndyMcKenna

4

Hegel'in nicelikten kaliteye geçişin meşhur diyalektik prensibinin gerçekten işe yaradığına inanıyorum.

Görüyorsunuz, zamanlama her zaman önemlidir. Michael Borgwardt'ın geliştirme / test sırasında hızlı yapının önemi hakkındaki sözlerine katılıyorum, ancak bunun (bir şekilde olabilir) üretim için de çok önemli olduğunu ısrar ediyorum.

Üretime bazı kötü kodlar dağıtan her geliştirici, 5 dakika ve 1 dakika içinde sağlanan düzeltmenin gerçekten çok farklı şeyler olduğunu bilir.


2

Gerçek sorular, uygulamanın başlatma olmadan çalışıp çalışmayacağıdır. "Performans" takıntısı yapan yeni işe alımlarımız var, hisse senedi cevabım yanlış sonuçları ne kadar çabuk verdiğiniz umurumda değil. IMHO köşeleri kesme, algoritmaları yönetme çünkü "bu şekilde daha hızlı olacak" ve diğer harika fikirler sadece hatalar getiriyor.

Başlatma gerekiyorsa yapın. Son kullanıcılar yanlış sonuçlar aldıklarında ne kadar zaman harcanacak, sonunda web uygulamasının yanlış olduğunu anlayacak, sizi arayacak ve şikayet edecek ve geri dönüp hata ayıklama / düzeltme / test / yeniden dağıtım yapmalısınız? şimdi meslektaşınıza ne zamandan tasarruf edildiğini sorun. (ve sunucu çekirdeklerinizin% 99 boşta olduğuna eminim)


2

Bu soru herhangi bir platform hakkında soru sormuyor. Başlangıç ​​zamanının gerçekten çok önemli olduğu platformlar var.

Örneğin, Google App Engine'de; sayfanıza erişilmiyorsa (veya aynı düğümdeki başka bir uygulamadan daha az sıklıkta erişiliyorsa) zaman zaman kaldırılır.

Site erişim frekansının alt% 99 iseniz Böylece, daha sonra başlangıç zamanı olan erişim süresi; uygulamanız hemen hemen her erişimde yeniden başlatılıyor. Eğer varsa vardır üst% 1, sonra uygulama birçok düğümler üzerinde başlarken ve pek çok sayfa erişimler zaten başlamış örneğinden dönecektir rağmen, bazıları hala olmaz ve aralıklı olarak gerekecek, böylece uzun erişim süreleri .

Aynı şey diğer birçok barındırma ortamında da geçerlidir. Üçüncü taraf kitaplıklarındaki ya da keşiften kaçınan kendi kodunuzdaki sızıntılar, web hizmetinizi çalıştırmanın tek güvenilir yolunun çok fazla isteği (genellikle 100 ila 10.000 arasında) yeniden yüklemesi anlamına gelebilir. başlangıç ​​zamanı sık sık ödenir. Bir uygulama sızdığında, ancak hızlı bir şekilde başladığında bu kalıbı kullanmak kabul edilebilir; uygulamanın başlaması birkaç saniyeden uzun sürerse kullanılamaz.


1

Uygulamanızın standartların altında veya daha kötüsü olarak geliştirme yeteneğiniz olarak görülme riskini taşıyorsunuz. Şimdi, bu uygulama birine çok zaman kazandırıyor ve / veya müteşekkir kullanıcıların uzun başlatmanın ötesine bakabilecekleri gerekli bir görevi yapıyor olabilir.

Uygulamayı tembel olarak yüklemek için bu şekilde programlamak daha uzun sürebilir, ancak sadece paydaşlar buna değip değmeyeceğini belirleyebilir. 55 saniyede bir rapor aldım. ve 35'e indirdik. Kimse fark etmedi. 35'ten 18'e kadar iki kat daha fazla zaman harcadım, ancak herkes fark etti ve müteşekkir ve etkilendi. Yılda birkaç kez kullanılan bir uygulama için 5 ila 3 dakika arasında gitmek büyük bir sorun değildir. Kullanıcıların Facebook'a veya kahve içmeye daha az vakit ayıracak.

Algı anahtardır. Eğer kompay genel olarak geliştirme ekipleri ve bu uygulama özellikle memnun değilse, bazı iyi niyet oluşturmak ve şeyi hızlandırmak isteyebilirsiniz.


Web uygulaması başlangıç ​​zamanı normal kullanıcıları etkilememelidir. Diğer geliştirici, uygulamayı düzenli olarak geliştirmenin bir parçası olarak günde birkaç kez kişisel olarak yeniden başlattığından rahatsız olur.
AndyMcKenna
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.