Magento2系の最新版、2.1.6がリリースされました(リリースノートはこちら)。
Magento2系はCommunity EditionもEnterprise Editionも同じバージョン番号なので、まとめてお知らせします。

Enterprise Editionにおける改良・変更点

Enterprise Edition 2.1.6では、主にパフォーマンス面での改良が行われました。
この改修によって、よりスムーズな商品情報の更新や、フロントエンドでのページ表示ができるようになりました。

特筆すべき改良点

大きく分けて、次の4項目のパフォーマンス改良が行われました。

カテゴリページにおけるパフォーマンス向上

  • コンフィグ商品の読み込み速度が従来に比較して5倍速くなりました。
  • 価格の計算処理が3〜5%高速になりました。
  • 在庫数のチェック処理が20%高速になりました。

画像リサイズ処理の最適化

  • コマンドラインからの画像リサイズ処理が、すべてのサイズの画像をリサイズするようになりました。詳細はmagento_catalog:images_resizeを参照してください。
  • 管理画面からの画像リサイズ処理の不具合が修正されました。
  • フロントエンドにおける画像処理のファイルシステム処理コストが大幅に削減されました。
  • 保存されるファイルサイズ依存ではありますが、キャッシュする画像のメタデータが50%高速化されました。

絞込ナビゲーションにおけるパフォーマンス向上

  • 属性オプションのキャッシュ処理の改良により、絞込ナビゲーションが3%高速化されました。

商品インポート後のインデックス更新処理の軽量化

  •  商品インポート後に、効率よくインデックス更新を行うように改良が行われました。

機能面の改良

パフォーマンス改良以外に、次の6項目の機能面での改良が行われました。

カタログ

  • 商品情報の更新時に、catalog_product_entityテーブルに対するテーブルロックが行われないようになりました。2.1.6以降、テーブル全体をロックすることはなくなり、同時実行性能が向上しています。
  • ストアフロントでの商品画像表示の際に、商品保存時に生成した画像ではなく、商品を表示する際にリサイズした画像を表示するようになりました。2.1.5以前の処理では、商品画像はデフォルトストアビューのもののみが商品情報の保存時にリサイズされていました。
  • \Magento\CatalogWidget\Model\Ruleはunselializeメソッドを実装するようになりました。
  • \Magento\CatalogInventory\Model\Stock\Status\getStockId()が正しい値を返すようになりました。 

コンフィグ商品

  • コンフィグ商品の販売可能状態をチェックする処理が高速化されました。
  • コンフィグ商品の価格計算処理に使用するSQLクエリが見直され、高速化されました。
  • コンフィグ商品の特別価格はカテゴリページの表示時に計算されなくなりました。

インポート

  • インポートした画像をベース画像を最優先とし、追加画像をCSV上の記載順で表示するようになりました。以前は想定しない順で画像を表示していました。

インデックス処理

  • インデックスの更新モードが「Update on Save」である場合に、インポートされたデータに限定した部分インデックス更新を行うようになりました。

スワッチ

  • カテゴリページにおける処理で、コンフィグ商品の初期化処理に存在した、冗長なオブジェクト生成処理が廃止されました。
  • カテゴリページと検索結果ページでスワッチを無効化できるようになりました。
  • スワッチ属性の評価処理が最適化されました。
  • スワッチ画像の存在するブロックがキャッシュされるようになり、パフォーマンスが向上しました。

その他

  • 商品属性のオプションがキャッシュされるようになり、絞込ナビなどのパフォーマンスが改善しました。
  • file_existsやis_fileといった不必要なファイルの存在チェック処理を行わなくなりました。これらの改善によって、カテゴリと商品ページの表示速度が改善しました。
  • 画像のメタデータをキャッシュするようになりました。この結果、画像読み込み時の処理不可が軽減され、パフォーマンスが改善しました。
  • カテゴリページにおける、ステージング機能に関連する不必要なフラグ処理を行わなくなりました。2.1.5まではステージング機能が利用されていない状態でも、フラグ判定処理が実行されていました。
  • 2.1.2から2.1.4までのバージョンで、Redisに対して増加していた通信量が削減されました。

Community Editionにおける改良・変更点

Community Edition 2.1.6では、主にパフォーマンス面での改良が行われました。
この改修によって、よりスムーズな商品情報の更新や、フロントエンドでのページ表示ができるようになりました。

特筆すべき改良点

大きく分けて、次の4項目のパフォーマンス改良が行われました。

カテゴリページにおけるパフォーマンス向上

  • コンフィグ商品の読み込み速度が従来に比較して5倍速くなりました。
  • 価格の計算処理が3〜5%高速になりました。
  • 在庫数のチェック処理が20%高速になりました。

画像リサイズ処理の最適化

  • コマンドラインからの画像リサイズ処理が、すべてのサイズの画像をリサイズするようになりました。詳細はmagento_catalog:images_resizeを参照してください。
  • 管理画面からの画像リサイズ処理の不具合が修正されました。
  • フロントエンドにおける画像処理のファイルシステム処理コストが大幅に削減されました。
  • 保存されるファイルサイズ依存ではありますが、キャッシュする画像のメタデータが50%高速化されました。

絞込ナビゲーションにおけるパフォーマンス向上

  • 属性オプションのキャッシュ処理の改良により、絞込ナビゲーションが3%高速化されました。

商品インポート後のインデックス更新処理の軽量化

  •  商品インポート後に、効率よくインデックス更新を行うように改良が行われました。

機能面の改良

パフォーマンス改良以外に、次の6項目の機能面での改良が行われました。

カタログ

  • 商品情報の更新時に、catalog_product_entityテーブルに対するテーブルロックが行われないようになりました。2.1.6以降、テーブル全体をロックすることはなくなり、同時実行性能が向上しています。
  • ストアフロントでの商品画像表示の際に、商品保存時に生成した画像ではなく、商品を表示する際にリサイズした画像を表示するようになりました。2.1.5以前の処理では、商品画像はデフォルトストアビューのもののみが商品情報の保存時にリサイズされていました。
  • \Magento\CatalogWidget\Model\Ruleはunselializeメソッドを実装するようになりました。
  • \Magento\CatalogInventory\Model\Stock\Status\getStockId()が正しい値を返すようになりました。 

コンフィグ商品

  • コンフィグ商品の販売可能状態をチェックする処理が高速化されました。
  • コンフィグ商品の特別価格はカテゴリページの表示時に計算されなくなりました。

インポート

  • インポートした画像をベース画像を最優先とし、追加画像をCSV上の記載順で表示するようになりました。以前は想定しない順で画像を表示していました。

インデックス処理

  • インデックスの更新モードが「Update on Save」である場合に、インポートされたデータに限定した部分インデックス更新を行うようになりました。

スワッチ

  • カテゴリページにおける処理で、コンフィグ商品の初期化処理に存在した、冗長なオブジェクト生成処理が廃止されました。
  • カテゴリページと検索結果ページでスワッチを無効化できるようになりました。
  • スワッチ属性の評価処理が最適化されました。
  • スワッチ画像の存在するブロックがキャッシュされるようになり、パフォーマンスが向上しました。

その他

  • 商品属性のオプションがキャッシュされるようになり、絞込ナビなどのパフォーマンスが改善しました。
  • file_existsやis_fileといった不必要なファイルの存在チェック処理を行わなくなりました。これらの改善によって、カテゴリと商品ページの表示速度が改善しました。
  • 画像のメタデータをキャッシュするようになりました。この結果、画像読み込み時の処理不可が軽減され、パフォーマンスが改善しました。
  • 2.1.2から2.1.4までのバージョンで、Redisに対して増加していた通信量が削減されました。

2.0系について

今回のリリースでは2.0系の更新はありません。

2.1.5以前からのアップデートについて

弊社ではcomposerもしくは管理画面経由でのアップデートをオススメしています。
アップデート作業に不安のある方、アップデート方法がわからない方は、お問い合わせください。