本篇文章爲閱讀構建高性能Linux服務器閱讀筆記。
可能中間會停頓,但儘量連續。
第一章 Linux服務器構建基礎
服務器的運行應用層面:
服務器應用類型:負載均衡、緩存服務器、前端服務器、應用程序服務器、數據服務器。
負載均衡服務器,對配置要求較低,一般是做轉發,但是網卡性能要好;
緩存服務器:主要是squid,varnish等,這些業務需要的內存使用較多,硬盤儘量快些,如ssd,不要因爲硬盤硬盤的I/O影響了性能;
前端服務器:對服務器的配置要求不高,一臺比較好的服務器,可以運行webserver+應用程序服務器,如nginx+php-fpm,等。我們現在的使用方法是:webserver單獨部署,fds即php單獨部署,這兩種服務能否合併到一起?!可以探討一下,這樣的情況下,服務器又將節省很多。
應用程序服務器:不用多說,承擔計算等任務,同時多臺服務器,要設置負載均衡、冗餘機制;
公共服務:郵件服務器、文件服務器、DNS服務器等,需要有冗餘,能夠進行故障無縫、自動切換;
數據庫:對服務器的要求是最高、最重要。
服務器要支持的用戶訪問量:
高峯期qps及每天的PV;
需要的存儲空間:
內存空間大小:
硬盤存儲系統:
如果是用作緩存服務器,比如squid,varnish或者memcache,可以考慮使用raid0;
如果是存放重要數據,可以考慮使用raid5;
如果運行mysql等數據庫,可以考慮使用固態硬盤做raid5或者raid0;
更改系統fd值,一般默認是1024:ulimit -SHn 65535
在包含大量的小文件磁盤中,可以不需要設置文件的atime:文件的訪問時間,ctime:inode發生變換時間;mtime:文件修改時間。沒有必要記錄文件的訪問時間,這樣可以減少io消耗,通過修改/etc/fstab,在對應分區中,加入noatime,nodiratime這兩個命令,就OK。
/dev/sda3 /home ext2 noatime,nodiratime 0 0
這種方法非常適合讀寫頻繁的數據庫系統。