kuroの覚え書き

96の個人的覚え書き

一体どこで時間がかかっているのか

データベースの検索速度がどうにも遅いわけだが、はたしてプログラムのどこで時間を食っているのか?

import time

....
@app.route('/exome_s/', methods=['GET', 'POST'])
def exome_s_index():
    start = time.time()
....
....
    elapsed_time = time.time() - start 
    print ("elapsed_time:{0}".format(elapsed_time) + "[sec]")

    return render_template('/exome/index_s.html', form=form, contents=exome, result_counts=result_counts)

こんな風に時間計測を入れてみた。

衝撃の結果・・・実はSQLは結構高速で160万件/iMacローカルでも最初の読み込みにかかる時間は7秒ほど、いろいろ検索条件を設定して10件程度に絞られるのにかかる時間は3秒ほど。

何に時間がかかっているって、その結果をWEBにレンダリングするのに10秒以上かかってるわけだ。あれま。
しかし、そこはもしかしたらPythonマルチプロセッサ動作できればかなり短縮するのかも。

ちなみに190万件/CentOSサーバの方は初期読み込みで19秒、検索で10秒位かかっていて、レンダリングは10秒程度。なんでそんなに遅い?