在庚子事變時,清軍的總數確實大概有百萬之眾,不過其中絕大部分是已經糜爛不堪的八旗軍和綠營。戰鬥力非常低下,勉強可以充當警察維持一下地方治安。清軍中真正有戰鬥力的,是各省編練的新軍、防軍、練軍等部,總數大約有30多萬。
30多萬部隊看着不少,不過這是分散在各地駐守的兵力總和。由於缺少鐵路,一旦發生戰爭,清軍的集結速度很慢,從鄰近省份抽調部隊,都需要大約一個月的時間。如果遠一點,那麼可能半年時間都到不了。
像在甲午戰爭期間,到清政府戰敗簽署《馬關條約》為止,不少部隊還在趕來的路上。庚子事變也是如此,到北京淪陷時,很多部隊也在路上。所以實際上清政府能用來抵擋八國聯軍,主要是駐守北京附近的部隊。
駐守在北京附近的清軍中戰鬥力比較強的有聶士成的武衞前軍(武毅軍)16000人,袁世凱的武衞右軍(小站新軍)1萬餘人,宋慶、馬玉昆的武衞左軍(毅軍)13000人,董福祥的武衞後軍(甘軍)10000人。這幾個部隊中又以武衞前軍和武衞右軍的戰鬥力最強。
此外北京附近還有武衞中軍、神機營等部隊,不過這些部隊的戰鬥力基本可以忽略不計。因此實際上清政府可以在北京附近直接能用的部隊也就5萬人左右。
後來袁世凱的武衞右軍被調到了山東,武衞左軍駐守山海關,武衞後軍駐守北京,因此在八國聯軍攻擊天津時,實際上主要是武衞前軍和聯軍在作戰。這也是聯軍打的比較辛苦的時候。
等到八國聯軍擊敗了武衞前軍,聶士成戰死以後,北京的主要守備力量只有武衞左軍和武衞後軍,不過2萬多人,和聯軍相比並沒有太大優勢,玩不起人海戰術。加上雙方戰鬥力上的差距,擋不住也就不奇怪了。