今天在ubuntu 12.04 service版本上搭建了apache2+php的站點以及nginx+php5-fpm的站點,簡單地用apache自帶的ab工具測試了一下併發的效能,具體的測試指令碼如下:
<?php
$arr = array();
for($i=0;$i<1000;++$i)
print_r($arr);
?>
具體的nginx和apache2我都啟用了七個程序,但是 通過 service apache2 restart啟動之後,apache2只有6個程序,而 通過 service nginx restart重啟之後,發現nginx是有七個程序的,每一次測試之前都是先stop服務然後再start服務的,
http://localhost對應的是nginx站點
http://localhost6000對應的是apache站點
結果發現測試結果如下:
然後測試100個併發請求
然後測試250人併發:
可以明顯看出,在**的併發訪問量小於100時,apache的效能會好一些,併發量大於200時,nginx明顯佔優.
我的電腦硬體配置為:
使用命令:cat proc/cpuinfo
intel(r) core(tm)2 duo cpu t9400 @ 2.53ghz
4g記憶體
查詢硬碟資訊:cat
/proc/partitions
查詢記憶體資訊:cat /proc/meminfo |more
併發性 互斥和同步 死鎖和飢餓
二 併發的原理 在單處理器多道程式設計系統中,程序被交替執行,表現出一種併發執行的外部特徵。即使不能實現真正的並行處理,並且在程序間來回切換也需要一定的開銷,交替執行在處理效率和程式結構上還是帶來了重要的好處。在多處理器系統中,不僅可以交替執行程序,而且可以重疊執行程序。三 程序的互動 我們可以根據...
事務處理和併發性
1 全部的表型別都可以使用鎖,但是只有 innodb 和 bdb 才有內建的事務功能。2 使用 begin 開始事務,使用 commit 結束事務,中間可以使用 rollback 回滾事務。3 在預設情況下,innodb 表支援一致讀。sql 標準中定義了 4 個隔離級別 read uncommit...
父子程序的併發性
參考 並行 是指無論從微觀還是巨集觀,二者都是一起執行的,就好像兩個人各拿一把 鐵杴在挖坑,一小時後,每人乙個大坑。併發 在微觀上不是同時執行的,只是把時間分成若干段,使多個程序快速交替的執行,從巨集觀外來看,好像是這些程序都在執行,這就好像兩個人用同一把鐵杴,輪流挖坑,一小時後,兩個人各挖乙個小一...