MongoDB性能優(yōu)化之連接優(yōu)化
本文是BoxedIce公司遇到的一個(gè)真實(shí)案例,如果你正在使用MongoDB的話,此文又是一個(gè)實(shí)用教材。
BoxedIce在plugin directory項(xiàng)目中添加了新的WEB機(jī)器結(jié)點(diǎn)后,發(fā)現(xiàn)其MongoDB集群的性能開始受到影響,表現(xiàn)在請(qǐng)求的高峰時(shí)期,MongoDB的響應(yīng)時(shí)間變得非常長(zhǎng)。
通過監(jiān)控發(fā)現(xiàn),在其高峰時(shí)間MongoDB的連接數(shù)達(dá)到了1100~1500左右,由于每個(gè)連接需要使用10M(stack size默認(rèn)為10240)的內(nèi)存,這導(dǎo)致相當(dāng)大的內(nèi)存開銷。
BoxedIce的處理方法是,首先通過優(yōu)化連接池,將連接數(shù)控制在了800個(gè)左右,然后通過修改內(nèi)核的stack size值,從默認(rèn)的10M修改到1M,使連接占用的內(nèi)存大大減少。
原文鏈接:MongoDB connection overhead
|