とあるECサイト案件の話。 商品の詳細情報を表示するページなのですが、開発中に書いたメモだと1クエリ0.006秒だったのものが、いつの間にか0.8秒とかでSLOWクエリに出てくるように。 開発中はテスト中でレコード件数が20万件くらいだったのが、現在は70万件くらいあるので、多少は遅くなるんだろうけど、いくらなんでも遅くなりすぎでしょ!ということで、まずは基本のindexのチューニングで緊急処理をしました。

VPS以上のタスタマイズができるクラウドサーバー・Google Cloud Platform(GCP)。GCPでは、dockerを使う様々な機能が備わっていますが、今回はベーシックに仮想サーバー・Google Compute Engine(GCE)で、GoogleがGCE用に用意している「Container-Optimized OS」を使って、軽量でセキュアなDocker環境を構築します。

「WordPressは重い」というイメージを覆したKUSANAGI。どうせなら、無料サーバーで使えないかなぁと思っていたところ、Google Cloud Platform(以下GCP)でも使えることを発見! と、同時にKUSANAGIをDockerコンテナで使える「KUSANAGI Runs on Docker」というのがリリースされているのも周回遅れで発見! で、どっちのがいいのかな?と思ったので、無料クレジットがあるうちにテストしてみました。

Google Compute EngineでGoogleが用意したコンテナ専用OS「Container-Optimized OS」を使用する場合、dockerはインストールされていますが、docker-composeがインストールされていません。 今回は、Googleが公式で推奨している方式で、「Container-Optimized OS」でdocker-composeを使えるように設定していきます。

なんてことありません。ストップさせて、docker-compose.ymlの中身を書き換えるだけ。それだけで、設定が新しくなります。 Dockerというとコンテナの使い捨てというイメージがあるので、一回Dockerコンテナを停止させると、すでにリンクされているコンテナとの依存関係などがごちゃごちゃになるような感じがして、非常に怖いですが、筆者の環境ではしっかりと停止前の環境のままで再起動されました。

無料プランでもSSHログインができる便利なXREAですが、デフォルトのシェルがrbashなので、いろいろ制限があって辛いところ。 例えば、、、 -rbash-4.2$ cd test/ -rbash: cd: 制限されています とか、ディレクトリにも入れないんかい!って感じです。 ということで、ネット上に多く出回っている情報ですが、シェルをbashに変更します。

Webサイトを新規で立ち上げたい!と思ったら、真っ先にかかる費用がサーバー費用とドメイン料金。 Adsense収入すらわからない状態で、年間数千円でもコストがのがイヤだ!という場合は、無料サービスを利用することで無料でオリジナルドメインのWEBサイトを立ち上げることができます。

WordPressに画像などのメディアファイルをアップロードする場合、デフォルトでは「/年/月/日」のフォルダ内に、アップロード元のファイル名で保存されます。 これだと、 メディアのリンクを書き換えたい時 画像を別サーバーに移したい時 なんかのタイミングで同じ名前のファイルをアップロードした時 などに管理が面倒になります。 そこで、今回はメディア(画像)のファイルを名をランダム変数にしてみます。

WordPressで複数ユーザーの更新を許可する場合、退会時の処理などを考えると、メディア(画像や動画)のアップロード先はユーザーごとのフォルダにわけておくと効率的です。 そこで今回は、アップロードフォルダをユーザーごとにわける処理を行ってみます。 upload_dirフックをつかってフォルダを分ける 今回は、単純にWordPressのフックポイント「upload_dir」を使って、フォルダ分けをしてみます。

WordPressに標準で入っている自動保存機能&リビジョン機能。 便利なんですが、DBがめっちゃ汚れます。wp-postテーブルにやばいくらいデータがたまっていきます。こんなんじゃ速くなりっこありません。 プラグインで定期的に掃除するっていう手もあるんですが、そもそも自動保存をしなくてもステータスを下書きにして頻繁に保存すればいいだけなんで、機能自体を停止してしまいます。 やり方は簡単で、各テーマのfunction.phpに下記のコードを追記します。 これで自動保存機能が停止されます。

1 3 4