Ben hafif bir sorun için çalıştırmak. Şöyle hikaye ediyor:
Ben (şu anda 23) birden çok istemci çalışır bir doküman arşiv sistemi (PHP ile yazılmış) var. Onların sisteminde sadece kendi belgeleri var. Her gece, hepsi sitede (merkezi sunucu) bir ana veritabanına 'senkron' gerekir. Ben merkezi sunucudan her MySQL veritabanı erişimi var, bu yüzden onlara bağlanırken sorun yok.
Ben, müşteri veritabanına bağlanan senkron kolon = '0000-00-00 00:00:00 '(bunu belirtmek için varsayılan senkronize değil) bir tablodan tüm girdileri seçer bir komut dosyası var. Daha sonra, her kaydın yineleyemezsiniz merkezi sunucuya yerleştirin ve komut idam edildi zaman müşteri veritabanı kaydında eşitleme saati ayarlayın. Bu çalışır, ama belli ki birden fazla sorgu ile büyük bir yükü vardır ve ben sadece şimdi sorunları fark etmiş.
Bir günde 3000 garip belgeler - Her istemci 2000 kadar üretebilir. Bu büyük rakamlar (1sn / 2documents) yol çok uzun sürüyor.
Benim soruna daha iyi bir çözüm var mı? Her şey başarılı olup olmadığını kontrol etmek günlükleri yapmak gerekir gibi, tercihen bir PHP çözüm komut dosyası.
Teşekkürler
EDIT: My current process is:
- Tüm un-senkronize verileri seçin
- Işlem başlayın
- Merkezi veritabanı sunucusunda içine kayıt eklemek
- Istemciden belge kaydı seçin
- Merkezi veritabanı sunucusuna belge yerleştirin
- Istemci üzerinde eşitleme sütunu güncelleştirmek
- Sunucuda senkronizasyon sütunu güncelleştirmek
- Işlem Commit
This is a script run on the central server. Now that I come to think of it, i can remove step 7 and have it part of step 5, but that wont reduce the processing time by much.