nginx與php?
技術(shù)方案很多呀,總的來說就是從軟件層面和硬件層面兩個(gè)方向,逐步升級(jí)吧。
單臺(tái)服務(wù)器時(shí)先是優(yōu)化代碼,然后升級(jí)配置。我的建議就是服務(wù)器單臺(tái)32核64g為最劃算的,再升級(jí)就不如買兩臺(tái)來分?jǐn)偭恕?/p>
最基礎(chǔ)的分配方案就是php 文件一臺(tái),mysql一臺(tái),圖片和文件一臺(tái),緩存一臺(tái)。這一般是一套電商系統(tǒng)最基本的搭配,開始流量少數(shù)據(jù)少可以配置低點(diǎn),緩存和php可以用一臺(tái),圖片是一定要單獨(dú)服務(wù)器,要不搬家換服務(wù)器要折磨死你,建議用對(duì)象存儲(chǔ)。
如果你的數(shù)據(jù)量在百萬以下的,數(shù)據(jù)庫讀寫操作肯定不大,主要壓力在php,可以考慮生成靜態(tài)。百萬以上級(jí)別的數(shù)據(jù)就不建議生成了,靜態(tài)文件太占空間,搬家換服務(wù)器也困難。這時(shí)候的壓力主要在mysql,壓力在查詢部分的,先使用redis或mencache來做sql查詢的緩存,使用全文索引技術(shù)來做搜索,推薦訊搜,二開簡單。 單表上百萬的用sql 做like查詢太慢,mysql負(fù)載太大。
一般幾萬ip,單表五百到一千萬,壓力在查詢的上面方案不錯(cuò)。
壓力在寫操作的,用讀寫分離,兩臺(tái)mysql服務(wù)器,一臺(tái)讀,一臺(tái)寫。
其實(shí)方案太多了,一時(shí)說不清楚,比如數(shù)據(jù)庫分布式,緩存分布式,程序架構(gòu)分布式。這些要根據(jù)具體情況來以最低成本來解決。
如果你不是程序員,下面我給你一個(gè)低成本方案
先是一臺(tái)服務(wù)器來撐,配置升級(jí)到8核32g就打住。memcache或者redis必須要用,然后百度云加速免費(fèi)版的一定要用上。
撐不住了,如果是圖片多的網(wǎng)站,把圖片分離出去,現(xiàn)在的程序一般都支持圖片單獨(dú)存放的。七牛云或者又拍云,程序沒接口找人開發(fā)個(gè),成本應(yīng)該就一兩千。
如果還慢,壓力一般是在mysql,這時(shí)把MySQL換獨(dú)立服務(wù)器,記住一定要買同一個(gè)機(jī)房的服務(wù)器用內(nèi)網(wǎng)連接,mysql服務(wù)器可以不需要帶寬,或者為了管理方便買1m。
還慢的話,不要著急加服務(wù)器,先找技術(shù)找慢的原因,優(yōu)化sql語句,優(yōu)化緩存方案。
然后花錢買百度云加速的套餐,扛一般的cc攻擊沒問題。
再慢的話考慮把數(shù)據(jù)量在五百萬以上的分表,這個(gè)成本估計(jì)稍微高點(diǎn),比加服務(wù)器做讀寫分離要高,不過治本。
分表后再做讀寫分離更好,不過要改程序,麻煩。現(xiàn)在一般程序都支持傻瓜式的配置讀寫分離,比分表簡單。
如果你自己沒有技術(shù)團(tuán)隊(duì),到這一步其實(shí)也就到頭了,再往下什么一主多從,多主多從,分布式。負(fù)載緩存,需要專業(yè)技術(shù)團(tuán)隊(duì)來干了,你得養(yǎng)一幫人了。