Tech Racho エンジニアの「?」を「!」に。
  • 開発

Python: DBアクセスを減らす方法

1秒間に5回くらい、継続的にデータの検索を行うシステムを作っていたのですが、最初はシンプルなロジックで組んだところ、サーバに大きな負荷がかかり、LoadAverageが激増しました。

解決方法

試しにDBアクセスデータを60秒間キャッシュするようにしてみたところ、以下のように、一気に負荷は減りました。

負荷が激減

負荷が激減

こんな手抜きな感じです

delta = datetime.timedelta(seconds = 60)
while True:
    #たまに更新
    if dbdata is None or datetime.datetime.now() - lastUpdate > delta:
        dbdata = __updateData()
        lastUpdate = datetime.datetime.now()
    #処理をする
    __proc()

やはりDBアクセスは重いので、キャッシュは大事ですね。
慌ててサーバを増強しなくて良かったです。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。