Nasıl belki bir php script işlemci ayak izini azaltacak?

4 Cevap php

Ben güncel hava tahminlerini yükleyebilirsiniz bir php komut dosyası yapmak için çalışılıyor ve giriş sindirmek için XML ön-işleme bit kullanır, ancak oldukça sık erişilen ve yeniden yüklenir. Sorun, bir komut alır işleme gücü miktarını sınırlar neden evet anlıyorum benim şimdiki ev sahibi ile başlar.

Şu anda yürütme başına 3 saniye civarında şimdiye kadar yürütme için tüm bir süreç alır. Ben 12 ile sınırlı değilim, ama ben epeyce ping olsun.

Sizinle benim soru: pre-süreç zaten 5 dakika önce yaptığı bir şey zorunda kalmaması yöntemler varsa, ben bir komut dosyası çıkışını önbelleğe için kullanabileceğiniz neler. Bu hava olduğundan, ben 2 saate kadar bir zaman farkı olabilir.

Ben de php ile oldukça tanıdık, yani xD endişelenmeyin.

~Thank you very much, Jonny :D

4 Cevap

Sen hava tahmini verileri oluşturmak ve sonra sadece önbellekten şeyi gösterecek bir cronjob çalıştırabilir. Sen bu yüzden her zaman bellekte yüklü (artı diğer tüm avantajları eklenir) edilir APC kullanabilirsiniz.

Zend Framework birden backendleri (File, memcached, APD) ile Zend_Cache nesnesi sağlar. Yoksa böyle bir şey ile kendi dönebilirsiniz:

$cachFile = "/path/to/cache/file";
$ttl = 60; // 60 second time to live
if (!file_exists($cacheFile) || time()-filemtime($cacheFile) > $ttl) {
    $data = getWeatherData(); // Go off and get the data
    file_put_contents(serialize($cacheFile), $data);
} else {
    $data = unserialize(file_get_contents($cacheFile));
}

need a code snippet to see what kind of processing you are doing. consider using xdebug to better optimize your code. Also you may use a benchmarking tool such as AB to see how many processes your server can handle.

Orada birkaç farklı önbelleğe alma mekanizmaları vardır ama yapıyorsun sürecinin ne tür görmeden söylemek zor ...

Zaten sorulmuş gibi 3 saniye çok uzun bir yürütme zamanı, bazı soğuk sen 'girişi' nasıl işlediğini görmek güzel olurdu ve ne biçim girdi içeri olduğunu söyledi

Dosyaya komut üzerinden önbelleğe alma hakkında hızlı ve kirli bir makale burada bulunur:

http://codestips.com/?p=153