Saturday 11:30 a.m.–12:15 p.m.

Djangoアプリケーション、パフォーマンスチューニング (ja)

Hiroki KIYOHARA

Audience level:
Intermediate
Category:
Web Systems / Webシステム

Description

Webアプリケーションを作る。それだけで終わっていませんか?十分なパフォーマンスはでていますか? そんなWebアプリケーション開発者の皆様にDjangoアプリケーションのパフォーマンスチューングの紹介です。 どうすれば高速に作れるか。なにが速度を低下させているのか。そもそもどうパフォーマンスを計測すればいいのか。それらの疑問に答えます。 このセッションを見終わったとき、あなたは今すぐにでも業務アプリケーションをチューニングしたくなるでしょう。

Abstract

ターゲットとしては普段業務などでDjangoを使ったWebアプリケーション開発をしている人々です。 とくに、曖昧にパフォーマンスを測定したり、とくによくわからずリリース時にお祈りをしている人たちが対象です。 まずは高速化について、DjangoのORMで、無駄なクエリを吐きがちな書き方を、その解法とともに紹介します。次にWebアプリケーション開発時におけるキャッシュの重要性や、正確かつ効果的な適応方法を紹介します。とりあえずテキトーにキャッシュしまくるのは、無駄が多いだけでなく、アプリを複雑にしてしまいます。また、疎かになりがちなセッションやキャッシュの設定の見直しや、Redisを使ったRedisならではの効果的なキャッシュを紹介します。 次に「そもそもネックは何か」を発見していきます。django-debug-toolbarやdjango-devserverを使ったボトルネックの発見。「これは怪しいぞ」というソースコードの紹介をします。 また重要な点としてパフォーマンスの測定について解説します。FunkloadというPython製ツールを使ったわかりやすい負荷試験の方法や、そのリザルトの読み方、ボトルネックの発見方法を紹介します。 これだけ把握すれば胸を張ってWebサービスをリリースできるようになります。 (全部話せなかったらごめんなさい>< そのときはまた別途ご紹介します