1

こんにちは、

基本的なAPIURLを呼び出すcronがあります。出力はxmlなので、phpを使用file_get_contents()してデータを処理します。

私の質問は、xmlの出力形式は、あるサーバーから別のサーバーへの転送時間に違いをもたらしますか?cronは10分ごとに実行されており、データ処理は時間に敏感であるため、ある時点でcronがオーバーラップすることは望ましくありません。

元 :

<?xml version="1.0"?><api><data>sometext here</data></api><!-- As one line -->

<?xml version="1.0"?>
<api>
   <data>sometext here</data>
</api>   <!-- As multiple lines -->

これはxmlの例にすぎないことに注意してください。私のデータでは、xml出力が2000行以上になります。

私はそれをテストしましたが、どのタイプのxmlでも同じ(おそらくマイクロ秒間隔)のようです。それをスピードアップする方法はありますか?

4

3 に答える 3

1

XML出力の長さ自体をカットしないと、大幅な高速化の可能性はわかりません。

転送速度を低下させる可能性があるため、転送のために不要な空白を削除すると非常に便利です。たとえそれがそのムッチでなくても。xmlが長くなり、そこに不要な空白が多くなると(xmlの解析には不要です。人間が読みやすいようにするためにのみ使用されます)、より多くの勝ちが得られます。あなたがそれを読みやすくするために深いヒラキと多くの空白を持っているなら、あなたはムッチを得るでしょう。そうでない場合、ストリッピングはそのミュートの転送速度を低下させません。

私が見る唯一の方法は、より小さなxmlデータを生成することです。

于 2010-10-29T09:46:51.513 に答える
0

たぶん、gzipのような圧縮を試すことができます。

于 2010-10-29T09:49:42.680 に答える
0

gzip を使用してページを圧縮しました。mod_gzip (Apache モジュール) を介してこれを行うことができます。または、PHP を使用している場合は、php.ini で zlib.output_compression = On を設定します。これにより、プレーンテキスト コンテンツが元のサイズの最大 20% に圧縮されます。

また、可能な限り最小のデータが必要な場合は、XML の代わりに JSON を使用して送信できます。

于 2010-10-29T13:03:56.023 に答える