ページの表示に時間がかかる

2016年8月1日 at 17:08

記事の表示に非常に時間がかかるようになってきました。

原因ですが、恐らく記事を作成する際に新規で作成せず過去の記事をコピーして中身を書き換えている運用をしていた為ではないかと思います。
1つ1つの記事が、過去のバージョンを250くらい持っています。
1つの記事内で、手動で過去のバージョンを一気に削除しようとすると「サイトマップデータがロードできません」と表示されエラーになります。
3~5ずつ過去のバージョンを手動で削除しようとするとエラーにはならないのですが、記事数が膨大なため自動or一気に解消できる方法を探しています。

先日上記をTwitter上で現象に言及したところTakuro Hishikawaさんが「自動実行ジョブの「古いページバージョンを削除」をcronなどで定期実行されると良いと思います」とコメントいただきやってみようと思ったのですが、利用バージョン(5.4.0.5)では自動実行ジョブに「古いページバージョンを削除」がないようです。

この場合、バックアップを取ってバージョンを最新にアップグレードした後、教えていただいた自動実行ジョブを定期実行する方法がよろしいでしょうか。
心配しているのは下記です。
・過去バージョンがまとめて削除できない、動作が非常に重いなどの不安定な状態で正常にバージョンアップできるかどうか
・手動で一気に削除しようとするとエラーになるため、「古いページバージョンを削除」の自動実行ジョブがうまく走るか

アドバイスございましたらいただければ幸いです。
よろしくお願いします。

<運用環境>
サーバ Windowsサーバ2008
# concrete5 Version
5.4.0.5

# concrete5 Packages
Breadcrumbs (1.0), Contest (1.0), CSV displayer (1.1), Expander (1.0), Font Scaler (1.0.0), Galleria image gallery (2.0), Google Docs Viewer (1.0), googlesearch (1.1), Iframe (1.0), PHP block by ND (1.0), Sortable Fancybox Gallery (1.12), Thumbs Up (0.9.1), Thumbview Template (1.1.1), tnSpacer (1.3), Zoom Image (1.0.3).

# concrete5 Overrides
languages/ja_JP.UTF8, themes/biz_travelers

# サーバーソフト
Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1

# サーバーAPI
apache2handler

# PHPバージョン
5.3.1

# PHP Extensions
apache2handler, bcmath, bz2, calendar, com_dotnet, Core, ctype, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, json, libxml, mbstring, mcrypt, mhash, ming, mysql, mysqli, mysqlnd, odbc, openssl, pcre, pdf, PDO, pdo_mysql, PDO_ODBC, pdo_sqlite, Phar, Reflection, session, SimpleXML, soap, sockets, SPL, SQLite, sqlite3, standard, tokenizer, wddx, XCache, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib.

# PHP Settings
log_errors_max_len - 1024
max_execution_time - 60
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
memory_limit - 128M
post_max_size - 512M
safe_mode - Off
safe_mode_exec_dir - no value
safe_mode_gid - Off
safe_mode_include_dir - no value
sql.safe_mode - Off
upload_max_filesize - 512M
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 100000
pcre.recursion_limit - 100000
session.cache_limiter - nocache
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
safe_mode_allowed_env_vars - PHP_
safe_mode_protected_env_vars - LD_LIBRARY_PATH
xcache.var_maxttl - 0

タグ:

Re: ページの表示に時間がかかる

2016年8月2日 at 16:59
5.4はだいぶ古いですね…。古いバージョンを削除ジョブは5.5からの機能です。ただ、このジョブだけいますぐ使う方法はあります。

下記URLの内容で jobs/remove_old_page_versions.php ファイルを作成し、管理画面からジョブをインストールして実行してください。

http://gist.github.com/hissy/4d50ba5b982617bd1ddd40b569d5530c
 

Re: ページの表示に時間がかかる

2016年8月3日 at 16:48
ご回答&ソースありがとうございます。

まずはバックアップを取って、こちらを試してみたいと思います。
やはりバージョン古いですよね、バージョンアップについても併せて検討したいと思います。

ありがとうございました。