Performans sorunu - 10K XSD karşı doğrulama

3 Cevap php

I have an XSD scheme which has 10K lines. It takes 5 seconds to validate my XML with 500 lines. I get dynamically XML via POST from external server, on every click of the user on my homepage. The validation takes 5+ seconds, which is very much for every click of the user. PHP Example:

$doc = new DOMDocument();
$doc->load('file.xml'); //100 to 500 lines
$doc->schemaValidate('schema.xsd'); //schema.xsd 10 000 lines

Eğer ben daha hızlı XSD karşı XML doğrulamak nasıl bir fikrin var mı?

3 Cevap

Kontrol etmek için bazı şeyler:

  1. Şema yerel bir dosya mı, yoksa ağ üzerinden (örn. http:veya dosyası: takılı bir birime) bunu getiriliyor edilir?

  2. Eğer şema önbelleğe miyim? Birçok şema doğrulama motorları şema yüklemek ve önbelleğe ve sonra bir iç gösterimi karşı birden doğrulamaları yapalım.

  3. Sizin şema neye benziyor? 10K şeması için 5 saniye oldukça yavaş görünüyor.

  4. Ne XML şema onaylayıcı kullanıyorsunuz?

Eğer siteniz için sadece ihtiyacınız parçaları içerir XSD, bir alt kümesi oluşturabilirsiniz. Son teslim sonra tam şema karşı doğrulamak.

Farklı bir XML kitaplığı kullanmak ve / veya arka planda uzak bir işlem yapmak ve web son önbelleği okudum.