當前位置:首頁 » 操作系統 » linuxkeepalive

linuxkeepalive

發布時間: 2024-05-30 15:21:27

A. linux內核優化參數

cat >> /etc/sysctl.conf << EOF
# kernel optimization
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
EOF # 《Linux就該這么學》
將上面的內核參數加入/etc/sysctl.conf文件中,執行如下命令使之生效:
sysctl -p

B. linux keepalive超時時間設多長合適

// Get
#cat /proc/sys/net/ipv4/tcp_keepalive_time
7200
#cat /proc/sys/net/ipv4/tcp_keepalive_intvl
75
#cat /proc/sys/net/ipv4/tcp_keepalive_probes
9

// Set
#echo 1000> /proc/sys/net/ipv4/tcp_keepalive_time
#echo 50> /proc/sys/net/ipv4/tcp_keepalive_intvl
#echo 20> /proc/sys/net/ipv4/tcp_keepalive_probes

C. 一般優化linux的內核,需要優化什麼參數

首先要知道一點所有的TCP/IP的參數修改是臨時的,因為它們都位於/PROC/SYS/NET目錄下,如果想使參數長期保存,可以通過編輯/ETC/SYSCTL.CONF文件來實現,這里不做詳細說明,只針對Linux的TCPIP內核參數優化列舉相關參數:

1、為自動調優定義socket使用的內存

2、默認的TCP數據接收窗口大小(位元組)

3、最大的TCP數據接收窗口

4、默認的TCP發送窗口大小

5、最大的TCP數據發送窗口

6、在每個網路介面接收數據包的速率比內核處理這些包速率快時,允許送到隊列的數據包最大數目

7、定義了系統中每一個埠最大的監聽隊列長度

8、探測消息未獲得相應時,重發該消息的間隔時間

9、在認定tcp連接失效之前,最多發送多少個keepalive探測消息等。

D. 一般優化linux的內核,需要優化什麼參數

作為高性能WEB伺服器,只調整Nginx本身的參數是不行的,因為Nginx服務依賴於高性能的操作系統。

以下為常見的幾個Linux內核參數優化方法。

  • net.ipv4.tcp_max_tw_buckets

  • 對於tcp連接,服務端和客戶端通信完後狀態變為timewait,假如某台伺服器非常忙,連接數特別多的話,那麼這個timewait數量就會越來越大。
    畢竟它也是會佔用一定的資源,所以應該有一個最大值,當超過這個值,系統就會刪除最早的連接,這樣始終保持在一個數量級。
    這個數值就是由net.ipv4.tcp_max_tw_buckets這個參數來決定的。
    CentOS7系統,你可以使用sysctl -a |grep tw_buckets來查看它的值,默認為32768,
    你可以適當把它調低,比如調整到8000,畢竟這個狀態的連接太多也是會消耗資源的。
    但你不要把它調到幾十、幾百這樣,因為這種狀態的tcp連接也是有用的,
    如果同樣的客戶端再次和服務端通信,就不用再次建立新的連接了,用這個舊的通道,省時省力。

  • net.ipv4.tcp_tw_recycle = 1

  • 該參數的作用是快速回收timewait狀態的連接。上面雖然提到系統會自動刪除掉timewait狀態的連接,但如果把這樣的連接重新利用起來豈不是更好。
    所以該參數設置為1就可以讓timewait狀態的連接快速回收,它需要和下面的參數配合一起使用。

  • net.ipv4.tcp_tw_reuse = 1

  • 該參數設置為1,將timewait狀態的連接重新用於新的TCP連接,要結合上面的參數一起使用。

  • net.ipv4.tcp_syncookies = 1

  • tcp三次握手中,客戶端向服務端發起syn請求,服務端收到後,也會向客戶端發起syn請求同時連帶ack確認,
    假如客戶端發送請求後直接斷開和服務端的連接,不接收服務端發起的這個請求,服務端會重試多次,
    這個重試的過程會持續一段時間(通常高於30s),當這種狀態的連接數量非常大時,伺服器會消耗很大的資源,從而造成癱瘓,
    正常的連接進不來,這種惡意的半連接行為其實叫做syn flood攻擊。
    設置為1,是開啟SYN Cookies,開啟後可以避免發生上述的syn flood攻擊。
    開啟該參數後,服務端接收客戶端的ack後,再向客戶端發送ack+syn之前會要求client在短時間內回應一個序號,
    如果客戶端不能提供序號或者提供的序號不對則認為該客戶端不合法,於是不會發ack+syn給客戶端,更涉及不到重試。

  • net.ipv4.tcp_max_syn_backlog

  • 該參數定義系統能接受的最大半連接狀態的tcp連接數。客戶端向服務端發送了syn包,服務端收到後,會記錄一下,
    該參數決定最多能記錄幾個這樣的連接。在CentOS7,默認是256,當有syn flood攻擊時,這個數值太小則很容易導致伺服器癱瘓,
    實際上此時伺服器並沒有消耗太多資源(cpu、內存等),所以可以適當調大它,比如調整到30000。

  • net.ipv4.tcp_syn_retries

  • 該參數適用於客戶端,它定義發起syn的最大重試次數,默認為6,建議改為2。

  • net.ipv4.tcp_synack_retries

  • 該參數適用於服務端,它定義發起syn+ack的最大重試次數,默認為5,建議改為2,可以適當預防syn flood攻擊。

  • net.ipv4.ip_local_port_range

  • 該參數定義埠范圍,系統默認保留埠為1024及以下,以上部分為自定義埠。這個參數適用於客戶端,
    當客戶端和服務端建立連接時,比如說訪問服務端的80埠,客戶端隨機開啟了一個埠和服務端發起連接,
    這個參數定義隨機埠的范圍。默認為32768 61000,建議調整為1025 61000。

  • net.ipv4.tcp_fin_timeout

  • tcp連接的狀態中,客戶端上有一個是FIN-WAIT-2狀態,它是狀態變遷為timewait前一個狀態。
    該參數定義不屬於任何進程的該連接狀態的超時時間,默認值為60,建議調整為6。

  • net.ipv4.tcp_keepalive_time

  • tcp連接狀態里,有一個是established狀態,只有在這個狀態下,客戶端和服務端才能通信。正常情況下,當通信完畢,
    客戶端或服務端會告訴對方要關閉連接,此時狀態就會變為timewait,如果客戶端沒有告訴服務端,
    並且服務端也沒有告訴客戶端關閉的話(例如,客戶端那邊斷網了),此時需要該參數來判定。
    比如客戶端已經斷網了,但服務端上本次連接的狀態依然是established,服務端為了確認客戶端是否斷網,
    就需要每隔一段時間去發一個探測包去確認一下看看對方是否在線。這個時間就由該參數決定。它的默認值為7200秒,建議設置為30秒。

  • net.ipv4.tcp_keepalive_intvl

  • 該參數和上面的參數是一起的,服務端在規定時間內發起了探測,查看客戶端是否在線,如果客戶端並沒有確認,
    此時服務端還不能認定為對方不在線,而是要嘗試多次。該參數定義重新發送探測的時間,即第一次發現對方有問題後,過多久再次發起探測。
    默認值為75秒,可以改為3秒。

  • net.ipv4.tcp_keepalive_probes

  • 第10和第11個參數規定了何時發起探測和探測失敗後再過多久再發起探測,但並沒有定義一共探測幾次才算結束。
    該參數定義發起探測的包的數量。默認為9,建議設置2。
    設置和範例
    在Linux下調整內核參數,可以直接編輯配置文件/etc/sysctl.conf,然後執行sysctl -p命令生效

E. linux瓚呮椂閫鍑鴻劇疆linux瓚呮椂

linux鐪嬮棬鐙楄秴鏃剁郴緇熶笉鏂閲嶅惎錛

閭f槸浣犵殑鍐呮牳鏈夐棶棰樸

鎹涓鐗堟湰鎶娿傚傛灉鏄浣犺嚜宸辮佸壀鐨勫唴鏍革紝鐪嬬湅鏄涓嶆槸娌℃湁鍠傜嫍銆傛垨鑰呯矖鏆寸偣鐩存帴紱佺敤鐪嬮棬鐙椼

socketsend鎬繪槸瓚呮椂浠涔堝師鍥狅紵

linux鍜寃indows涓嬬敤setsockopt璁劇疆SO_SNDTIMEO,SO_RCVTIMEO鐨勫弬鏁扮殑涓鐐瑰尯鍒玌DP鐨剆ocket鍦ㄦ煇浜涙儏鍐碉細

濡傚規柟鍏抽棴鏃訛紝鏈鍦板彲鑳絪endto涓嶅嚭鍘繪暟鎹錛岀劧鍚巖ecvfrom灝變細琚闃誨烇紝榪欐椂灝遍渶瑕佽劇疆榪欎袱涓鍙傛暟鐨勫兼彁楂樼▼搴忚川閲忋俵inux:structtimevaltimeout={3,0}

;//3sintret=setsockopt(sock_fd,SOL_SOCKET,SO_SNDTIMEO,(constchar*)timeout,sizeof(timeout))

;intret=setsockopt(sock_fd,SOL_SOCKET,SO_RCVTIMEO,(constchar*)timeout,sizeof(timeout))

;濡傛灉ret==0鍒欎負鎴愬姛,-1涓哄け璐,榪欐椂鍙浠ユ煡鐪媏rrno鏉ュ垽鏂澶辮觸鍘熷洜intrecvd=recv(sock_fd,buf,1024,0)

;if(recvd==-1errno==EAGAIN){printf(timeoutn);

}windows:inttimeout=3000;//3sintret=setsockopt(sock_fd,SOL_SOCKET,SO_SNDTIMEO,timeout,sizeof(timeout))

;intret=setsockopt(sock_fd,SOL_SOCKET,SO_RCVTIMEO,timeout,sizeof(timeout));鑰宻olaris錛屽垯涓嶆敮鎸併

linux鏈澶х鍙f暟瓚呰繃65535鎬庝箞鍔烇紵

瑕佸垎娓呯鍙f暟鍜岃繛鎺ユ暟錛

紜瀹烇紝鐢佃剳鍙寮絝鍙f暟鍙鏈65536涓錛屽崰婊′簡灝辨病寰楀紑浜嗭紝榪欐槸浜嬪疄銆備絾榪橀渶瑕佹敞鎰忕殑鏄錛氱鍙d笉鏄璇村崰鐢ㄤ簡灝變竴鐩存槸浣犵殑浜嗭紝浣犱笉鐢ㄤ簡榪樺彲浠ラ噴鏀撅紝閲婃斁鍚庡埆鐨勭▼搴忚繕鑳芥帴鐫浣跨敤錛屾墍浠ワ紝鍔ㄦ佸埄鐢ㄤ箣涓嬶紝寰堥毦鎶婄鍙e崰瀹岀殑銆

鍏朵簩銆佽佸垎娓呯鍙e拰榪炴帴銆備竴涓絝鍙e彲浠ユ湁鑻ュ共涓榪炴帴錛屽俷ginx錛屾櫘閫歭inux涓婏紝涓涓80絝鍙e氨鑳藉苟鍙10涓+鐨勮繛鎺ワ紝鏋侀檺鎯呭喌涓嬶紝鍙浠ヨ繎鐧句竾銆傛墍浠ワ紝鐢變簬絝鍙e嶇敤錛屽叾瀹炲苟涓嶄細鐢ㄥ埌閭d箞澶氱鍙c

鎵浠ワ紝65536涓絝鍙g敤瀹岀殑紲炶瘽鍩烘湰涓婁笉浼氬嚭鐜般

瓚呮椂鍙栨秷璁㈠崟鎬庝箞澶勭悊錛

1.瀹氭椂杞璇

鏈綆鍗曠殑鏂規硶錛屽啓濂藉彇娑堣㈠崟鐨勯昏緫錛屼竴鑸鏄鍙栬㈠崟琛ㄥ緟浠樻劇姸鎬佺殑璁㈠崟錛岀劧鍚庡仛閬嶅巻鍙栨秷澶勭悊錛屼嬌鐢↙inux緋葷粺鐨刢rontab瀹氭椂鎵ц屽彇娑堣㈠崟鍔熻兘銆

浼樼偣錛氱畝鍗曞揩鎹鳳紝涓氬姟灝忕殑鍙浠ヨ冭檻

緙虹偣錛

鐢變簬Linux鐨勯檺鍒訛紝鍙鑳界簿紜鍒扮

杞璇㈤戠巼涓嶈兘鑷涓繪帶鍒訛紝濡傛灉榪愮淮鍜屽紑鍙戝垎寮綆$悊錛屾瘡嬈¤皟鏁撮渶瑕佽繍緇撮厤緗淇鏀

濡傛灉絎涓嬈¤疆璇㈣楁椂闀匡紝絎浜屾¤疆璇㈠張寮濮嬩簡錛屼細閫犳垚浠誨姟閲嶅嶆墽琛

鍗犵敤鏁版嵁搴撹祫婧

涓嶈兘騫跺彂鎵ц

2.浠誨姟璋冨害

涓浜泈eb妗嗘灦浼氬甫鏈変換鍔¤皟搴︾殑鍔熻兘錛屽儚php鐨凩aravel妗嗘灦銆

浼樼偣錛

杞璇㈤戠巼鍙浠ュ仛鍒扮敤浠g爜鏉ユ帶鍒訛紝涓嶅畬鍏ㄤ緷璧栫郴緇燂紱

浠誨姟鍙浠ュ仛鍒頒笉閲嶅嶆墽琛

緙虹偣錛氳窡瀹氭椂杞璇㈠樊涓嶅

3.寤惰繜闃熷垪澶勭悊

濡傛灉緋葷粺鏈夊お澶氱殑璁㈠崟闇瑕佸勭悊錛岄偅涔堝勭悊鐨勬椂闂村氨瑕佸緢闀匡紝鍋囧傜涓嬈¤疆璇㈣繕娌$粨鏉燂紝絎浜屾″張寮濮嬩簡錛屽氨浼氶犳垚浠誨姟鐨勯噸澶嶆墽琛岋紝鍚屾椂鎶戝埗鍗犵敤鏁版嵁搴撹祫婧愶紝閫犳垚鏁版嵁搴撳帇鍔涘ぇ錛岀敤寤惰繜闃熷垪鍋氬彇娑堣㈠崟澶勭悊錛岃懼畾寤惰繜鏃墮棿涓烘彁浜よ㈠崟涔嬪悗鐨30鍒嗛挓鎵ц岋紝鏁堢巼浼氶珮寰堝氾紝甯哥敤鐨勫歡鏃墮槦鍒楁湁

redis錛堣㈤槄閿鐨勫け鏁堜簨浠訛級

妗嗘灦鑷甯︾殑闃熷垪錛堜緥濡侺aravel妗嗘灦鑷甯︾殑闃熷垪錛

rabbitMQ寤惰繜闃熷垪

浼樼偣錛

涓嶉渶瑕佸硅㈠崟琛ㄨ疆璇㈠勭悊錛屽噺灝戞暟鎹搴撳帇鍔

涓嶄細閲嶅嶆墽琛

鏁堢巼楂

鍙閰嶅悎澶氱嚎紼嬪勭悊

涓氬姟閲忓ぇ鐨勬柟渚垮仛闆嗙兢

涓嶄緷璧栫郴緇熺殑crontab

PLSql閾炬帴鏁版嵁搴撳脊鍑洪摼鎺ヨ秴鏃訛紝璇ユ庝箞鍔烇紵

澶氳鳳紝闄や簡涓妤煎垪涓劇殑媯鏌ュ唴瀹瑰栵紝榪樿佹鏌ヤ互涓嬪唴瀹癸細

1)錛氬傛灉鍏鍙告湁闃茬伀澧欙紝闇瑕佹鏌ラ槻鐏澧欑殑瓚呮椂璁劇疆錛

2)錛氬傛灉鎮ㄧ殑鏁版嵁搴撳湪Linux/Uinx鐜澧冿紝闇瑕佹鏌ョ浉鍏砶eepalive鍙傛暟鐨勮劇疆鎯呭喌銆

F. 鍦↙inux涓鎵撳紑浜嗗お澶氭枃浠剁殑涓夌嶈В鍐蟲柟娉

鍥炵瓟涓銆

[root@lxadmin nginx]# cat /proc/sys/fs/file-max

   8192

   鏂囦歡緋葷粺鏈澶у彲鎵撳紑鏂囦歡鏁

   [root@lxadmin nginx]# ulimit -n

   1024

   紼嬪簭闄愬埗鍙鑳芥墦寮1024涓鏂囦歡

   浣跨敤[root@lxadmin nginx]# ulimit -n 8192璋冩暣涓涓

   鎴栬呮案涔呰皟鏁存墦寮鏂囦歡鏁 鍙鍦ㄥ惎鍔ㄦ枃浠/etc/rc.d/rc.local鏈灝炬坊鍔狅紙鍦/etc/sysctl.conf鏈灝炬坊鍔爁s.file-max=xxx鏃犳晥錛

ulimit -n 8192

鍥炵瓟浜屻

Linux鍐呮牳鏈夋椂浼氭姤鍛娾淭oo many open files鈥濓紝璧峰洜鏄痜ile-max榛樿ゅ礆紙8096錛夊お灝忋傝佽В鍐寵繖涓闂棰橈紝鍙浠root韜浠芥墽琛屼笅鍒楀懡浠わ紙鎴栧皢瀹冧滑鍔犲叆/etc/rcS.d/*涓嬬殑init鑴氭湰銆傦級

# echo "65536"   /proc/sys/fs/file-max  # 閫傜敤浜2.2鍜2.4鐗堝唴鏍

   # echo "131072" /proc/sys/fs/inode-max # 浠呴傜敤浜2.2鐗堝唴鏍

鍥炵瓟涓夈

鍔炴硶鏄淇鏀規搷浣滅郴緇熺殑鎵撳紑鏂囦歡鏁伴噺闄愬埗錛屾柟娉曞備笅錛

1. 鎸夌収鏈澶ф墦寮鏂囦歡鏁伴噺鐨勯渶奼傝劇疆緋葷粺錛 騫朵笖閫氳繃媯鏌/proc/sys/fs/file-max鏂囦歡鏉ョ『璁ゆ渶澶ф墦寮鏂囦歡鏁板凡緇忚姝g『璁劇疆銆

# cat /proc/sys/fs/file-max

   濡傛灉璁劇疆鍊煎お灝忥紝 淇鏀規枃浠/etc/sysctl.conf鐨勫彉閲忓埌鍚堥傜殑鍊箋 榪欐牱浼氬湪姣忔¢噸鍚涔嬪悗鐢熸晥銆 濡傛灉璁劇疆鍊煎熷ぇ錛岃煩榪囦笅姝ャ

   # echo 2048 /proc/sys/fs/file-max

   緙栬緫鏂囦歡/etc/sysctl.conf錛屾彃鍏ヤ笅琛屻

   fs.file-max = 8192

2. 鍦/etc/security/limits.conf鏂囦歡涓璁劇疆鏈澶ф墦寮鏂囦歡鏁幫紝 涓嬮潰鏄涓琛屾彁紺猴細

#

   娣誨姞濡備笅榪欒屻

   * - nofile 8192

榪欒岃劇疆浜嗘瘡涓鐢ㄦ埛鐨勯粯璁ゆ墦寮鏂囦歡鏁頒負2048銆 娉ㄦ剰"nofile"欏規湁涓や釜鍙鑳界殑闄愬埗鎺鏂姐傚氨鏄欏逛笅鐨刪ard鍜宻oft銆 瑕佷嬌淇鏀硅繃寰楁渶澶ф墦寮鏂囦歡鏁扮敓鏁堬紝蹇呴』瀵硅繖涓ょ嶉檺鍒惰繘琛岃懼畾銆 濡傛灉浣跨敤"-"瀛楃﹁懼畾, 鍒檋ard鍜宻oft璁懼畾浼氬悓鏃惰璁懼畾銆

   紜闄愬埗琛ㄦ槑soft闄愬埗涓鎵鑳借懼畾鐨勬渶澶у箋 soft闄愬埗鎸囩殑鏄褰撳墠緋葷粺鐢熸晥鐨勮劇疆鍊箋 hard闄愬埗鍊煎彲浠ヨ鏅閫氱敤鎴烽檷浣庛備絾鏄涓嶈兘澧炲姞銆 soft闄愬埗涓嶈兘璁劇疆鐨勬瘮hard闄愬埗鏇撮珮銆 鍙鏈塺oot鐢ㄦ埛鎵嶈兘澶熷炲姞hard闄愬埗鍊箋

   褰撳炲姞鏂囦歡闄愬埗鎻忚堪錛屽彲浠ョ畝鍗曠殑鎶婂綋鍓嶅煎弻鍊嶃 渚嬪瓙濡備笅錛 濡傛灉浣犺佹彁楂橀粯璁ゅ1024錛 鏈濂芥彁楂樺埌2048錛 濡傛灉榪樿佺戶緇澧炲姞錛 灝遍渶瑕佽劇疆鎴4096銆

鍙﹀栦竴縐嶆儏鍐墊槸鍦ㄥ壋寤虹儲寮曠殑鏃跺欙紝涔熸湁涓ょ嶅彲鑳斤紝涓縐嶆槸 鍚堝苟鍥犲瓙澶灝忥紝瀵艱嚧鍒涘緩鏂囦歡鏁伴噺瓚呰繃鎿嶄綔緋葷粺闄愬埗錛岃繖鏃跺彲浠ヤ慨鏀瑰悎騫跺洜瀛愶紝涔熷彲浠ヤ慨鏀規搷浣滅郴緇熺殑鎵撳紑鏂囦歡鏁伴檺鍒訛紱鍙﹀栦竴縐嶆槸鍚堝苟鍥犲瓙鍙楄櫄鎷熸満鍐呭瓨鐨勯檺鍒訛紝鏃犳硶璋冩暣鍒版洿澶э紝鑰 闇瑕佺儲寮曠殑doc 鏁伴噺鍙堥潪甯哥殑澶э紝榪欎釜鏃跺欏氨鍙鑳介氳繃淇鏀規搷浣滅郴緇熺殑鎵撳紑鏂囦歡鏁伴檺鍒舵潵瑙e喅浜嗐

鍦ㄦゅ熀紜涓婏紝鎴戣繕淇鏀逛簡浠ヤ笅涓涓閰嶇疆鏂囦歡

   vi /etc/sysctl.conf

   娣誨姞錛

   # Decrease the time default value for tcp_fin_timeout connection

   net.ipv4.tcp_fin_timeout = 30

   # Decrease the time default value for tcp_keepalive_time connection

   net.ipv4.tcp_keepalive_time = 1800

   # Turn off tcp_window_scaling

   net.ipv4.tcp_window_scaling = 0

   # Turn off the tcp_sack

   net.ipv4.tcp_sack = 0

   #Turn off tcp_timestamps

   net.ipv4.tcp_timestamps = 0

   鐒跺悗 service network restart,榪欎簺閮藉拰TCP sockets鏈夊叧鐨勪紭鍖栥

鍙﹀栭渶瑕佸湪 /etc/rc.d/rc.local閲屾坊鍔犲凡浣垮緱閲嶅惎鐨勬椂鍊欑敓鏁堛

   echo "30"/proc/sys/net/ipv4/tcp_fin_timeout

   echo "1800"/proc/sys/net/ipv4/tcp_keepalive_time

   echo "0"/proc/sys/net/ipv4/tcp_window_scaling

   echo "0"/proc/sys/net/ipv4/tcp_sack

   echo "0"/proc/sys/net/ipv4/tcp_timestamps

   鍥犱負涓嶆槸鎵鏈夌殑紼嬪簭閮藉湪root涓嬭窇鐨勶紝鎵鏈塴inux鏈夊筯ard 涓巗oft open files 鐨勫尯鍒嗭紝鏅閫氱敤鎴峰彈hard鐨勯檺鍒訛紝鏃犺簎limit -n $鏁板艱皟鍒板氶珮錛岄兘璺戜笉鍒 /etc/security/limits.conf閲宯ofile鐨勫.

榪欐牱鐨勪紭鍖栧悗 lsof -p $java_pid|wc -l鍙浠ヨ窇鍒4鍗冧互涓婇兘涓嶄細鎶涘嚭too many open files銆傝阿璋㈤槄璇伙紝甯屾湜鑳藉府鍒板ぇ瀹訛紝璇風戶緇鍏蟲敞鑴氭湰涔嬪訛紝鎴戜滑浼氬姫鍔涘垎浜鏇村氫紭縐鐨勬枃絝犮

熱點內容
數據模型於資料庫系統 發布:2024-07-27 09:59:56 瀏覽:849
網站ip訪問量 發布:2024-07-27 09:59:55 瀏覽:286
java字元串字元數組 發布:2024-07-27 09:59:13 瀏覽:593
如何利用無線網路搭建伺服器 發布:2024-07-27 09:59:05 瀏覽:721
it天空解壓密碼 發布:2024-07-27 09:50:39 瀏覽:549
軟體腳本買賣 發布:2024-07-27 09:50:38 瀏覽:917
android對象轉json 發布:2024-07-27 09:50:15 瀏覽:183
安卓平板有什麼可以畫對稱的 發布:2024-07-27 09:36:03 瀏覽:133
羊創意腳本 發布:2024-07-27 09:29:30 瀏覽:895
榮耀v20升級存儲 發布:2024-07-27 09:20:19 瀏覽:486