セキュリティキャンプ全国大会 2018 集中開発コース 「Linux開発者を目指そう! 」テーマのレポート

はじめに

こんにちはNecoチームのsatです。本日はNecoチームの話ではなく、私が先週講師として参加した「セキュリティキャンプ全国大会 2018」というイベントの参加報告をいたします。このイベントの中でもとくに私が受け持った集中開発コース「Linux開発者を目指そう!」テーマについて述べます。

続きを読む

さようなら ImageMagick

こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。

一般的な Web アプリケーションがそうであるように、サイボウズのグループウェアにも画像をサムネイルで表示する機能があります。サイボウズでは日々数万件やそれ以上のサムネイルを生成しており、それらは全て ImageMagick によって生成されていました。

そこで得た知見はこちらの記事で公開されています。
blog.cybozu.io

しかし現在、サイボウズから ImageMagick は消え去りました。その理由と、我々が取った代替手段について紹介します。

続きを読む

リモート開発をテーマにしたMeetupを開催しました──西日本開発部の活動紹介

こんにちは、西日本開発部の岡田(@y_okady)です。 2018年7月26日(木)にサイボウズ東京オフィスで「Cybozu Meetup 西日本でのリモート開発事情」を開催し、西日本開発部でどんな風にリモート開発してるのかをご紹介しました。 今回はMeetupのレポートと、Meetupではお話しできなかった西日本開発部の活動をちょこっとご紹介します。

f:id:cybozuinsideout:20180815144630j:plain

続きを読む

サイボウズ版 MySQL パフォーマンスチューニングとその結果

こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。先日親知らずを抜歯した時、つらすぎたので MySQL の JOIN のことを考えて心の平静を保っていました。

サイボウズの製品のひとつである kintone はニーズに応じて自由に業務アプリのようなものを手軽に作ることができ、データの検索条件やソート条件も細かくカスタマイズ可能で、様々なレベルでのアクセス権も設定可能という非常に便利なツールです。

しかしその機能を支える裏側では複雑なクエリが発行され、MySQL に多大な負荷をかけています。サイボウズのクラウドには数十テラバイトに登る MySQL データがあり、数千万件オーダーのテーブルを複数 JOIN するクエリが毎秒のように実行されるという、エンジニア魂が滾る環境です。

現在サイボウズでは性能改善に力を入れており、僕もその業務に従事しています。例えば2018年7月の更新では kintone の Innodb_rows_read を半減させており、その成果は記事の最後で紹介しています。

サイボウズの性能改善業で得た MySQL に関する知識知見をこの記事にまとめました。MySQL の性能に苦しむ皆様のお役に立てれば幸いです。

続きを読む