自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

擴展PHP的五個簡單技巧,讓單服務器并行支撐30000用戶

開發(fā) 后端 前端
兩人小團隊基于公司給100萬個投資人同時發(fā)送電子郵件的業(yè)務需求,不得不弄清單服務器并行支持的最大用戶數(shù)目。而在這個過程中,他們總結了5個PHP擴展的小技巧,讓每個服務器可以同時支撐3萬個用戶。

Jonathan Block于RockThePost.com(集資公司)擔任CTO一職,基于業(yè)務需求,公司需要他們同時給100萬個投資人發(fā)送電子郵件。對于只有兩個人的工程團隊,確定服務器可以同時發(fā)送郵件的數(shù)目就成為了當務之急。

RockThePost.com建立于Ec2的LAMP堆棧之上,非常典型的小規(guī)模構造:

 

  • PHP的Zend Framework 2
  • 使用了2個m1.medium
  • 使用ELB分配負載
  • 主/從MySQL數(shù)據(jù)庫
  • 使用Siege進行負載測試

在業(yè)務實現(xiàn)過程中,Block對其中的秘訣做出了總結,讓網(wǎng)絡服務器可以同時給3萬用戶并行發(fā)送郵件:

1. 使用PHP的APC特性。APC——Alternative PHP Cache,雖然官方稱為“可選PHP緩存”,但是稱為“另一個PHP緩存也不為過”,因為它可以切實的提升網(wǎng)站的性能。

2. 把所有不是.php的請求都分配給CDN(內容分發(fā)網(wǎng)絡),不要使用你的服務器處理靜態(tài)文件。他們使用S3來存儲所有,并使用CloudFront作為他們的CDN。最近CloudFront出現(xiàn)的一些問題迫使他們不得不直接使用S3服務。

3. 切勿將PHP代碼里的鏈接指向其它的服務器。比如數(shù)據(jù)庫以及memcache服務器,除非是強制性的或者是沒有其它方法實現(xiàn)你的目的。在執(zhí)行流中讓鏈接指向其它服務器是非常沒有效率的:可能會使服務器受到限制,從而降低處理的速度。使用APC鍵/值存儲來儲存數(shù)據(jù),并使用Barnish來緩存整個頁面。

4. 使用Varnish。一般情況下,站點上的所有網(wǎng)頁都不會改變或者是不會做大型的改動。Varnish就對于網(wǎng)絡服務器緩存有著Memcache/ModRewrite的作用。同樣在壓力測試中,使用前后的性能差異很大。

5. 使用更大的服務器實例,比如c1.xlarge有8個核心可以應對負載,而m1.medium只有一個核心可以處理請求。

可以使用Google Analytics來分析每個用戶在每個頁面上花費的時間。收集這些信息,使用Siege來運行壓力測試,從而不斷的熟悉自己業(yè)務的負載類型,以便更好的提升程序的擴展性。

原文鏈接: Scale PHP on Ec2 to 30,000 Concurrent Users / Server

責任編輯:陳四芳 來源: CodeWall
相關推薦

2016-01-06 11:36:06

云架構服務器擴展

2024-11-06 11:49:42

2009-12-10 17:20:00

PHP服務器架設

2023-12-06 07:22:36

2018-01-31 11:20:48

2018-01-22 11:14:27

服務器托管技巧

2010-05-18 11:09:06

IIS服務器

2012-05-29 09:59:34

2017-11-09 15:01:47

無服務器技巧技術

2025-04-23 11:50:04

MCP服務器AI代理

2018-09-06 10:16:39

2011-03-11 15:53:00

LAMP優(yōu)化

2018-05-08 09:21:34

2010-05-05 11:42:13

遠程管理Windows

2013-04-02 09:26:32

服務器虛擬化

2018-08-07 09:15:49

2019-06-05 13:05:47

PHP語法糖編碼

2009-09-24 15:55:12

打印服務器

2022-05-14 23:49:32

Python數(shù)據(jù)計算技巧

2022-11-28 11:34:00

技巧自助服務
點贊
收藏

51CTO技術棧公眾號