記事投稿者を表示するthe_author | WordPress & Business メモ
WordPressで投稿記事の投稿者を表示するテンプレートタグをよく失念するのでメモ。
[php]
①ログイン名を表示
②ファーストネーム名を表示
③ラストネーム名を表示
④ニックネーム名を表示
[/php]
メインインデックスの
[html]
の次あたりに
[php]
投稿者名: |
[/php]
などとするのがスマートじゃないでしょうか。
記事投稿者を表示するthe_author | WordPress & Business メモ
WordPressで投稿記事の投稿者を表示するテンプレートタグをよく失念するのでメモ。
[php]
①ログイン名を表示
②ファーストネーム名を表示
③ラストネーム名を表示
④ニックネーム名を表示
[/php]
メインインデックスの
[html]
の次あたりに
[php]
投稿者名: |
[/php]
などとするのがスマートじゃないでしょうか。
先日の記事で取り上げたWordPress高速化を実際に行ってみました。
とりあえずのベンチとしてabで
[code]
$ ab -n 100 -c 10 [blog_url]
[/code]
とした結果がこちら。(残念ながらPHPの種ブログ本体ではありません)
Concurrency Level: 10
Time taken for tests: 23.312433 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 3896984 bytes
HTML transferred: 3876178 bytes
Requests per second: 4.29 [#/sec] (mean)
Time per request: 2331.243 [ms] (mean)
Time per request: 233.124 [ms] (mean, across all concurrent requests)
Transfer rate: 163.22 [Kbytes/sec] received
RPS(Requests per second)が4.29といった感じです。pluginも全く入れていないWordpressにテンプレートだけ変更したもので、出力結果もほぼデフォルト(直近記事10件、サイドバーも変更無しなど)のトップページにアクセスした結果です。このベンチ結果でWordpressのテンプレートサイズやサーバスペックをご想像いただければと思います。みなさん、デフォルトはどのぐらいの速さなんですかね。
まずは、XCache。XCacheの導入についてはPHPの種でXCacheをインストールしてみました。という記事で詳しく書いていますのでご参考くださいマセ。というわけでXCacheを
[xcache]
xcache.shm_scheme = “mmap”
xcache.size = 64M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 1M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = “/tmp/xcache”
xcache.coredump_directory = “”
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off
[xcache.coverager]
xcache.coverager = Off
xcache.coveragedump_directory = “/tmp/xcachecov”
としてベンチを実行した結果が
Concurrency Level: 10
Time taken for tests: 20.157960 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 4046028 bytes
HTML transferred: 4025016 bytes
Requests per second: 4.96 [#/sec] (mean)
Time per request: 2015.796 [ms] (mean)
Time per request: 201.580 [ms] (mean, across all concurrent requests)
Transfer rate: 196.00 [Kbytes/sec] received
RPSは4.96。ちょっと早くなりました。XCacheは物によってすごく有効なんですが、今回はそれほどでもないでしょうか。まあ、スクリプトに何も手を入れず早くなるのはそれだけですごいですよね。まあ、XCacheはスクリプト側でキャッシュを指定していくのが真っ当な使い方かもしれません。
次にmysqlのクエリーキャッシュ。クエリ結果のキャッシュを参考に、my.cnfの[mysqld]ディレクティブに
[mysqld]
query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=24M
query_cache_type=1
を追加してmysql再起動。ベンチの結果は
Concurrency Level: 10
Time taken for tests: 17.553935 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 4064254 bytes
HTML transferred: 4043242 bytes
Requests per second: 5.70 [#/sec] (mean)
Time per request: 1755.393 [ms] (mean)
Time per request: 175.539 [ms] (mean, across all concurrent requests)
Transfer rate: 226.05 [Kbytes/sec] received
RPSは5.70。かなり早くなりましたね。なんだかんだでMySQLへの問い合わせがキャッシュできるのは大きいようです。
次はWordpres標準のキャッシュ機構を使ってみましょう。
・ディレクトリ「wp-content/cache」を作成し、パーミッションは777。
・設定ファイル「wp-config.php」に以下の一行を追加(一番上がいい)。
define(‘ENABLE_CACHE’,true);
キャッシュを有効にした結果は
Concurrency Level: 10
Time taken for tests: 14.263548 seconds
Complete requests: 100
Failed requests: 92
(Connect: 0, Length: 92, Exceptions: 0)
Write errors: 0
Total transferred: 4059956 bytes
HTML transferred: 4038944 bytes
Requests per second: 7.01 [#/sec] (mean)
Time per request: 1426.355 [ms] (mean)
Time per request: 142.635 [ms] (mean, across all concurrent requests)
Transfer rate: 277.91 [Kbytes/sec] received
RPSは7.01。ぐぐっと早くなりました。
最後はwp-cacheというpluginを使ってみます。
http://mnm.uib.es/gallir/wp-cache-2/からwp-cacheをダウンロードして、pluginフォルダにコピーします。
サイトにも書いてありますが、gzip圧縮設定を無効にしておきます。php.iniで
zlib.output_compression = On
をオンにしておけば、wp-cache側でやってくれるようです。
後は、プラグインタブでwp-cacheを有効にして、設定タブのwp-cache項目で、環境が整っていなければその理由が、整っていればwp-cacheのステータスが確認できるようになります。
私の場合は、
といった変更を加えました。出力ソースの最後あたりに
[html]
[/html]
と出るようになればキャッシュ成功です。
そして結果のほうは、
Concurrency Level: 10
Time taken for tests: 7.665901 seconds
Complete requests: 100
Failed requests: 90
(Connect: 0, Length: 90, Exceptions: 0)
Write errors: 0
Total transferred: 4242322 bytes
HTML transferred: 4215566 bytes
Requests per second: 13.04 [#/sec] (mean)
Time per request: 766.590 [ms] (mean)
Time per request: 76.659 [ms] (mean, across all concurrent requests)
Transfer rate: 540.31 [Kbytes/sec] received
RPSは13.04と素晴らしい速度に!
しかしwp-cacheはページの全てをキャッシュしてしまうのでインタラクティブなサイトなどには向きませんし(これは全てのキャッシュ機構に言えることではありますが)、検索してみると色々と問題もあるようです。
WordPress標準のキャッシュ機構でかなり満足いく結果が出ましたので、私はここまでにしようかなと思います。
ちなみに、wp-cacheプラグインがあれば、デフォルトキャッシュ機構はあまり意味をなさないようです。上記全ての高速化を有効にしたままの結果が
Requests per second: 15.86 [#/sec] (mean)
といった感じですが(二回目以降のabなので、上記結果より早くなっています。最初の問い合わせからキャッシュが効いていますから)
デフォルトのキャッシュ機構を無効にした結果が、
Requests per second: 15.73 [#/sec] (mean)
と、あまり変わらない結果でしたので。
Zend Frameworkのディレクトリ構成 – Heavens hell
Zend Framework のディレクトリ構成&Controllerが丁寧に説明されています。
わかりやすいですね。
クデラボ -KudeLab- » PHPでMeCabを使って形態素解析をするときのメモ
PHPでMeCabを使う時は、MeCab extensionを用いりますが、あえて(か、必要にせまられて)extension moduleを使わないで、MeCabを使う方法を示されています。
$descriptorspec = array(
0 => array(“pipe”, “r”)
, 1 => array(“pipe”, “w”)
);
$process = proc_open(“/usr/local/bin/mecab”, $descriptorspec, $pipes);
if (is_resource($process)) {
fwrite($pipes[0], $text);
fclose($pipes[0]);
$result = stream_get_contents($pipes[1]);
fclose($pipes[1]);
proc_close($process);
}
おお。proc_open。こういう時に使うのかー。勉強になります。
KoshigoeBLOG: PHPでXPath
PHPでXPathなHTMLScraperクラスを作られています。当たり前なのかもしれませんが、executeからget~の流れが参考になりました。
flv動画を画像として切り出すよ with PHP(ソース付き) – PHP,MySQL,Flexな日々+イラストとか
PHP&バックエンドにffmpegでflvから静止画像を取り出しています。いつか使いそうっ
PHPでのスクレイピングに役立つライブラリ – (DxD)∞
PHPのスクレイピングでお役立ちのライブラリがまとめられているます。
最近使い安いなあ、と思ったのはWebScraperでしょうか。むりくりCLIから使ってますが。
PHP でサーバソケットプログラミング (1):Rainy Day Codings:So-net blog
PHPでサーバソケットプログラミングですが、なかなか使う機会がない。というかどういう時に使えば効果的なのか。
ちょっと考えてみるかな。
PHP+memcache+Repcachedを試してみた – Do You PHP はてな
Repcachedを試されています。参考になります。
最近のコメント