Nadiren güncellenir veriler için Stratejiler

0 Cevap php

Background: 2 minutes before every hour, the server stops access to the site returning a busy screen while it processes data received in the previous hour. This can last less than two minutes, in which case it sleeps until the two minutes is up. If it lasts longer than two minutes it runs as long as it needs to then returns. The block is contained in a its own table with one field and one value in that field.

O bir eylemi gerçekleştirmek için çalıştığında (s) Şu anda kullanıcı sadece (form vb göndermek, bir bağlantıyı tıklayın) blok bilgilendirilir. Ben otomatik olarak BlockUI jquery eklenti ile bir lightbox ve engelleme mesajı aşağı getirmek için kodu güncellemek planlıyordu.

Benim amaca ulaşmak görebilirsiniz 2 yöntem temelde vardır:

  1. Yoklama N saniyede (PeriodicalUpdater veya benzeri ile)

  2. Uzun yoklama (Comet)

Siz yerel saati kontrol ederek, 1 sunucu yükünü azaltmak ve gerçek zamana yakın aldığında yoklama döngü başlayabilirsiniz. Bu 60 mod farkı dönen sunucuya yerel saati göndererek daha doğru olabilir. Hala db ek bir hit neden sunucuyu sorgulamak 100 + kişi var.

Seçenek 2 daha cazip bir seçimdir. Bu web sunucusu üzerinde tekrarlanan isabet kaldırır, ama db üzerindeki tekrarlanan kontrol allieve değildir. Ancak 2 Bizim gibi apache 2.0 koşucular için seçim değildir, ve biz bizim sunucu sahibi olsa bile, hiçbirimiz web yöneticileri vardır ve onu kırmak istemiyorum - Don kırdı değilse insanlar çok oyun oynamak için gerçek para ödemek 't (dolayısıyla neden hala PHP4/MySQL3 çalışan edildi) bunu düzeltmek.

Sub-optimal - Çünkü 2 seçeneği ile sorunları biz seçeneği 1 ile geri döndü.

Yani benim soru gerçekten iki yönlüdür:

  1. Ben kaçırdığımız başka olasılıkları var mı?

  2. Uzun yoklama gerçekten bu boyutta böyle bir sorun var mı? Ben ölçek değildir anlıyorum, ama ne düzeyde bu evrelerin Apache açlıktan gelmez daha fazla endişe duyuyorum. Ayrıca biraz daha terazi böylece Apache ayarlayabileceğiniz herhangi bir seçenek var mı?

0 Cevap