原创 利用aio+epoll簡單改寫sendfile

其實說白了,也就是想直接嘗試利用一下aio +epoll結合代碼,在利用人家sendfile的接口,就是替換sendfile,自己隨便玩玩傳輸文件。我採用的是linux原生的libaio,glibc實現的aio貌似很多在吐槽,性能

原创 [CDN 技術] HTTP參數中Etag的重要性

這篇文章寫的挺好的,所以就轉載過來了,謝謝原作者的無私分享 [CDN 技術] HTTP參數中Etag的重要性    http2 Etag在HTTP1.1中有介紹,主要的作用就是在(css file, image, javascrip

原创 shell腳本學習(二)-grep

1.     grep/egrep       -c  :打印符合要求的行數      -n :在輸出符合要求的行的同時連同行號一起輸出      -v :打印不符合要求的行      -r  : 會把目錄下面所有的文件全部遍歷一遍   

原创 linux下簡單vim命令的練習使用

 gg         最開始處  nG :n        光標之後多少行  $           光標的末尾  0 ^         光標的行首  o          開闢光標下一行插入  O          開闢光標上一行插

原创 利用pstack 和 strace分析程序在哪裏耗時?

       目前測試了nws服務器代碼中的while(!stop){...}死循環,發現while循環一次有的線程需要100ms左右,這個時間就有點長了。於是利用如下linux的ps、pstack和strace對程序進行了分析。   

原创 GCC在C語言中內嵌彙編 asm __volatile__

      這篇文章在轉載的時候沒有找到原作者,我看原文鏈接都變成了轉載的那個作者。轉載來自:GCC在C語言中內嵌彙編 asm __volatile__           推薦:Linux內核部件分析 原子性操作atomic_t    

原创 新增加的HTTP狀態碼 -- 103

IETF公佈了新的HTTP狀態碼-103, 總結一下就是提前預加載(css、js)文檔,提升用戶的訪問速度。 Summary: a new status code that lets the server send headers

原创 利用僞B站做測試的時候遇到304的一點小問題

用戶先請求nws服務器,如果本地可以命中,nws直接返回文件給用戶; 如果本地沒有命中,nws回源向僞B站請求文件,就是簡單的cdn的思路。 Created with Raphaël 2.1.0用戶nws服務器 僞B站 作爲一個做

原创 使用Nginx抵禦DDOS攻擊

DDOS是一種通過大流量的請求對目標進行轟炸式訪問,導致提供服務的服務器資源耗盡進而無法繼續提供服務的攻擊手段。 一般情況下,攻擊者通過大量請求與連接使服務器處於飽和狀態,以至於無法接受新的請求或變得很慢。 應用層DDOS攻擊的

原创 將進程綁定到特定的cpu - taskset命令

在測試鬥地主程序的時候,發現單核cpu的運行時間總比多核cpu運行時間塊,用taskset命令一看,果然是一個進程運行在兩個cpu上。 Score of team 1 is : -1154 Score of team

原创 採坑memset初始化vector的變量---vector iterators incompatible

           和別人合作一起寫一個鬥地主,我負責拆牌這一塊,每次需要返回最優的牌型。因爲我習慣了變量初始化用memset,vector的變量也意外的用了memset。結果尼瑪的調試了好長時間,才知道memset初始化vector變

原创 提升自旋鎖spinlock的性能-pause指令

看源碼的時候get的一個新的知識點,可以提升自旋鎖spinlock的性能-pause指令,看到的源碼如下: #define cpu_pause() __asm__ (".byte 0xf3, 0x90")

原创 linux下匿名用戶上傳文件

1、打開配置文件:#vi /etc/vsftpd/vsftpd.conf anonymous_enable=YES write_enable=YES local_umask=022 anon_upload_enable=YES #容許匿名

原创 shell學習筆記(一)

1.     history           執行命令歷史紀錄 2.     !!              執行上一次命令 3.     !n              執行這條命令 4.     !vim          

原创 關於posix_memalign( )函數的坑

            這幾天在寫aio + epoll 代碼,使用aio必須要字節對齊,因此需要用到posix_memalign()這個類似malloc()、alloc()等開闢內存的函數,函數原型: int posix_memali