ホームページ  >  記事  >  CMS チュートリアル  >  dedeCMS コンテンツの生成を高速化する方法

dedeCMS コンテンツの生成を高速化する方法

藏色散人
藏色散人オリジナル
2019-12-10 09:37:392550ブラウズ

dedeCMS コンテンツの生成を高速化する方法

DedeCMS のコンテンツ生成速度を高速化するにはどうすればよいですか?

誰もがよくこの問題に遭遇します。 DreamBackend には多くのドキュメントがあり、データが比較的大きい場合、列ドキュメントの生成は非常に遅くなります。最近、編集者は dedecms の生成を高速化する方法について友人と話し合っています。これもdedecmsの欠点だと思います!たとえば、dedecms に数十万または数百万のアクセスがある場合、Web サイトに大量のゴミがもたらされることになります。これにより、dedemcs の生成速度が低下し、最終的にはユーザーが最高のエクスペリエンスを得ることができなくなります。

推奨研究: 梦Weavercms

Baidu をチェックしましたが、この問題に対する適切な解決策が見つかりませんでした。その後、編集者が dedecms 公式サイトから適当なコードを見つけてテストした後、実装方法を簡単に紹介します。

最初のステップは、dedecms ルート ディレクトリに入り、次のディレクトリを見つけることです:

include/inc/inc_fun_SpGetArcList.php

それを見つけたら、それをローカルにダウンロードして開き、次のコードを見つけることをお勧めします:

for($i=0;$i<$ridnum;$i++){ if($tpsql==””) $tpsql .= ” And ( (“.TypeGetSunID($reids[$i],$dsql,’arc’).” Or arc.typeid2=&#39;”.$reids[$i].”‘) “; else $tpsql .= ” Or (“.TypeGetSunID($reids[$i],$dsql,’arc’).” Or arc.typeid2=&#39;”.$reids[$i].”‘) “; }

上記のコードを見つけたら、コメントアウトするか、次のコードに置き換えます:

for($i=0;$i<$ridnum;$i++){ if($tpsql==””) $tpsql .= ” And (“.TypeGetSunID($reids[$i],$dsql,’arc’); else $tpsql .= ” Or “.TypeGetSunID($reids[$i],$dsql,’arc’);

検索:

$orwhere .= " And ( arc.typeid in ($sonids) Or arc.typeid2 in ($sonids) ) "

置換:

$orwhere .= " And arc.typeid in ($sonids) ";

生成の具体的な最適化を見てみましょう。ステップ:

1. サブカラムを閉じると、生成速度が 50 秒と 20 ページから 20 秒と 20 ページに減少します。

##2. ドキュメント テンプレート内のコール ドキュメントのラベル、つまりアークリスト内のラベルを削除します。sort=rand を使用すると、バックグラウンドで見つかるすべてのキャッシュが有効になり、生成速度が20 ページで 20 秒から 1 ページで 6 秒以上

3. ドキュメント テンプレート内の関連ドキュメントを削除すると、生成速度が 6 秒から 6 秒に低下し、1 秒未満に低下しました。そして中盤に到達する時間が終わり、私はついに満足して、遅い生成速度を楽しむ必要がなくなりました。

以上がdedeCMS コンテンツの生成を高速化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。