小弟公司最近請廠商做一個網站
使用PHP寫的
廠商原先是放在外部的空間,速度都相當快
但該公司只負責設計,後臺部分要我們自己建
但部門同仁對這塊都超級不熟,是使用XAMMP 這套來建置環境
建完以後,請廠商來上版
變成跑公司網頁都會卡個7~8秒才會慢慢跑出來
本機一樣也跑很慢
小弟是硬體人員,虛擬機能加的我都加了
就還是一樣慢
不知道 XAMMP 哪邊能檢查呢
有幾個方向可以確認,chrome按F12,切到Network確認載入速度,
另外就是本機很慢是每次開都一樣慢還是第一次慢,這部分是確認有沒有快取,
不過如果都沒相關經驗要馬上找到問題,有一定難度,如果後臺要自己建應該有相關的開發人員,也可以詢問開發人員確認開發環境是不是也是這速度,來確認是程式還是XAMMP這套裝軟體的問題
您好 感謝您抽空回覆
有開過CHROME的工作管理員
他會一直卡在在這
https://ithelp.ithome.com.tw/upload/images/20211230/20100532lWYd2HoQnb.jpg
後面就都很快
ㄜ 因為自建伺服器也都是看網路上的文章
程式人員專精不在這塊上面
開發的廠商之前是放在外面空間都很快
但他們也不是用XAMMP
廠商也是跟別人租空間 放上去而已
開發人員本身應該有開發環境可以直接運行...如果速度一樣慢就是程式或是資料庫,如果不一樣那伺服器可能真的有問題。
至於本機執行其實是在伺服器上開瀏覽器用localhost連入網站,也能快速判斷是本身的問題還是連入伺服器的網路有問題。
基本來說,光使用XAMPP,我就不太相信能好到哪邊去就是了。
不過其實網站變慢不光只是XAMPP的問題。線路問題。硬體問題都是非常多的。
有看到你提到了虛擬機。
不知道你虛擬機使用的是哪種作業系統。核心及RAM的設定多少。
要先評估這些點出來後。再從WEB SERVER(XAMPP)做調整下手。
原則上,我會建議你請專業的來給你處理。不要自已搞。
除非你不注重網站速度及能出來就行了。才自已搞。
在非專業的調整下。能跟專業的差不多。主機不是那麼簡單的事。
感謝您抽空回覆
我們也想直接丟到外面阿去給人家管阿@@
但長官覺得要花錢就不要...
呵呵呵
我相信這一定是不得已的。會說這樣一套說詞是要給你能對上面交代。
當然我也了解有時上頭就是完全不願理會。就只好自已背下這個鍋了。
從你上面後回應的圖片來看,6秒的確是太慢了。
基本我依經驗判斷,有很大的可能性在防火牆。
你可以先往那邊試試。也可以先將防火牆關了再看看速度。
如果防火牆關了還是一樣的情況。基本來說問題就非常多了。
大方向是在「請求回應」變慢。而並非是運行變慢。
Docker 是一個開放原始碼軟體,是一個開放平台,用於開發應用、交付(shipping)應用、執行應用。 Docker允許使用者將基礎設施(Infrastructure)中的應用單獨分割出來,形成更小的顆粒(容器),從而提高交付軟體的速度。[1]
Docker容器與虛擬機器類似,但二者在原理上不同。容器是將作業系統層虛擬化,虛擬機器則是虛擬化硬體,因此容器更具有可攜式性、高效地利用伺服器。 容器更多的用於表示 軟體的一個標準化單元。由於容器的標準化,因此它可以無視基礎設施(Infrastructure)的差異,部署到任何一個地方。另外,Docker也為容器提供更強的業界的隔離相容。[2]
Docker 利用Linux核心中的資源分離機制,例如cgroups,以及Linux核心命名空間(namespaces),來建立獨立的容器(containers)。這可以在單一Linux實體下運作,避免啟動一個虛擬機器造成的額外負擔[3]。Linux核心對命名空間的支援完全隔離了工作環境中應用程式的視野,包括行程樹、網路、使用者ID與掛載檔案系統,而核心的cgroup提供資源隔離,包括CPU、記憶體、block I/O與網路。從0.9版本起,Dockers在使用抽象虛擬是經由libvirt的LXC與systemd - nspawn提供介面的基礎上,開始包括libcontainer函式庫做為以自己的方式開始直接使用由Linux核心提供的虛擬化的設施。
建議兩種方式:
1.Linux(ubuntu/debian/centos) + docker + LAMP (Linux, Apache, MySQL/MariaDB, PHP) Container
2.OpenMediaVault + docker + LAMP (Linux, Apache, MySQL/MariaDB, PHP) Container
假設你是用windows系統(以前公司也偏好這個),碰到這樣的狀況,第一步就是開工作管理員看一下目前的cpu以及記憶體使用狀況。如果資源使用狀況還好,那開效能監視器監控一段時間。
如果不是資源不夠,那要考慮是否網路頻寬不夠。你們的網路架構是怎樣?伺服器有獨立的線路對外嗎?
很多需要考慮的點,要一一把問題排除。
如果是在windows上跑,我前公司是用IIS + FastCGI + PHP,資料庫在另一台獨立的機器,因為web跟資料庫使用量大時peak會一起上來,能分開會比較好。另外,web伺服器端設定好各種資源cache的機制,也可以提升速度。php的話,最重要的是要打開opcache,沒開的話效能會差許多倍。
使用apache的access.log,可以粗淺評估每秒連線數,用來排除問題。
網站回覆速度慢
建議先參考「回覆速度快」的系統架構及配備
系統架構:雲端或自建、單機或多機、VM/Docker...
配備:CPU/RAM/HDD/網路頻寬
至少參考以下三個
1.外包廠商的開發/Demo環境
2.「因為公司其他服務系統對外網路都很順暢」的「其他服務系統」
3.最近回覆速度快的系統
看看是否改成一樣的硬體環境
或者儘可能接近
如果要針對軟體部份/XAMPP做Tunning
最佳人選還是開發系統的外包廠商
不過我估計他會回答「是硬體環境差異,軟體已經沒什麼好調整的了」
你安裝的XAMPP資料庫,
有沒有修改database的 參數?
key_buffer_size 是多少?
join_buffer_size 是多少?
table_cache 是多少?
sort_buffer 是多少?
record_buffer 是多少?
max_allowed_packet是多少?
另外apache 的php參數,你有沒有修改參數?
Memory Limit 是多少?
Max Execution Time 是多少?
有沒有針對php程式,加裝加速器Optimizer ?
以下是個人剛好找到的方向,不知道您是否有試過,如果主機與虛擬化資源調度上並沒有明顯的利用率飆升,可以平心進氣的嘗試針對系統優化本身,或是換個版本對應或許是哪個版本的Bug相容之類的!
WAMP/XAMPP is responding very slow over localhost