導航:首頁 > 配伺服器 > 如何開發高性能高並發伺服器

如何開發高性能高並發伺服器

發布時間:2022-11-13 06:03:19

① 用java做互聯網開發,高並發,大數據量,應具備哪些技術系統架構,資料庫方面的,還有那些常用的技術。

當大數據量,高並發時,除了在程序中使用一些高性能的演算法,資料庫連接的管理等,還有一點非常重要,就是伺服器的吞吐量,由於很多的伺服器對大訪問的處理能力不足,直接就掛了。所有你需要了解如何設置集群及分配吞吐量。如即使是你只有一個伺服器,你也可以安裝多個應用伺服器(weblogic,tomcat等),然後通過集群來設置。這樣也能解決一些高訪問並發問題。這樣能最大的發揮你的伺服器性能。

② 高並發架構技術解決方案

高並發架構的難點是什麼?
高並發架構最大問題主要是由於網站PV訪問量大,單台伺服器承載大量訪問所帶來的壓力,所以會採用多台伺服器進行分流,採用伺服器集群技術,對於每個請求訪問會被 發送到不同的伺服器。
這樣架構的難點就在管理、維護、監控、負載等等都面臨很大的技術問題,同時還需要應對某些業務的突發流量,像秒殺、促銷等場景化使用什麼技術解決高並發?
互聯網分布式架構設計,提高系統並發能力的方式,方法論上主要有兩種:垂直擴展(Scale Up)與水平擴展(Scale Out)。
垂直擴展:提升單機處理能力。垂直擴展的方式又有兩種:
(1)增強單機硬體性能,例如:增加CPU核數如32核,升級更好的網卡如萬兆,升級更好的硬碟如SSD,擴充硬碟容量如2T,擴充系統內存如128G;
(2)提升單機架構性能,例如:使用Cache來減少IO次數,使用非同步來增加單服務吞吐量,使用無鎖數據結構來減少響應時間;
在互聯網業務發展非常迅猛的早期,如果預算不是問題,強烈建議使用「增強單機硬體性能」的方式提升系統並發能力,因為這個階段,公司的戰略往往是發展業務搶時間,而「增強單機硬體性能」往往是最快的方法。
不管是提升單機硬體性能,還是提升單機架構性能,都有一個致命的不足:單機性能總是有極限的。所以互聯網分布式架構設計高並發終極解決方案還是水平擴展。
水平擴展:只要增加伺服器數量,就能線性擴充系統性能。水平擴展對系統架構設計是有要求的,如何在架構各層進行可水平擴展的設計,以及互聯網公司架構各層常見的水平擴展實踐。
水平擴展要怎麼來做?首先是軟體服務拆分到不同的伺服器進行部署,全部堆積在一台上性能將會受限。例如:Redis 就只是部署在獨立的伺服器上,其它軟體都在這伺服器上出現增加各個軟體服務部署的服務後,採用技相關技術手段分擔到各個伺服器上。nginx反向代理層可以通過「DNS輪詢」的方式來進行水平擴展。dns-server對於一個域名配置了多個解析ip,每次DNS解析請求來訪問dns-server,會輪詢返回這些ip。php站點層可以通過修改nginx.conf實現負載均衡機制來進行水平擴展。從而設置多個web後端。服務層可以通過服務連接池來進行水平擴展;這里一部需要實現服務化,PHP像swoole tarsphp等資料庫可以按照數據范圍,或者數據哈希的方式來進行水平擴展;那高並發架構是什麼樣的?
常見互聯網分布式架構如上,分為:
(1)客戶端層:典型調用方是瀏覽器browser或者手機應用APP
(2)反向代理層:系統入口,反向代理
(3)站點應用層:實現核心應用邏輯,返回html或者json數據
(4)服務層:服務化,例如像Swoole
(5)數據-緩存層:緩存加速訪問存儲
(6)數據-資料庫層:資料庫固化數據存儲

③ 如何利用java開發高性能,高並發web應用

其實大家都知道,效率最高、消耗最小的就是純靜態化 http://www.ablanxue.com/shtml/201207/776.shtml的html頁面,所以我們盡可能使我們的網站上的頁面採用靜態頁面來實現,這個最簡單的方法其實也是 最有效的方法。但是對於大量內容並且頻繁更新的網站,我們無法全部手動去挨個實現,於是出現了我們常見的信息發布系統CMS,像我們常訪問的各個門戶站點 的新聞頻道,甚至他們的其他頻道,都是通過信息發布系統來管理和實現的,信息發布系統可以實現最簡單的信息錄入自動生成靜態頁面,還能具備頻道管理、許可權 管理、自動抓取等功能,對於一個大型網站來說,擁有一套高效、可管理的CMS是必不可少的。

除了門戶和信息發布類型的網站,對於交互性要求很高的社區類型網站來說,盡可能的靜態化也是提高性能的必要手段,將社區內的帖子、文章進行實時的靜態化,有更新的時候再重新靜態化也是大量使用的策略,像Mop的大雜燴就是使用了這樣的策略,網易社區等也是如此。

同時,html靜態化也是某些緩存策略使用的手段,對於系統中頻繁使用資料庫查詢但是內容更新很小的應用,可以考慮使用html靜態化來實現,比如論壇 中論壇的公用設置信息,這些信息目前的主流論壇都可以進行後台管理並且存儲再資料庫中,這些信息其實大量被前台程序調用,但是更新頻率很小,可以考慮將這 部分內容進行後台更新的時候進行靜態化,這樣避免了大量的資料庫訪問請求高並發。

④ 如何打造一個高性能,高並發的消息推送系統

看是自己開發還是使用第三方系統,如果是自己開發的,就必須擁有一個強大的團隊來進行研發;如果是使用第三方系統,推薦使用深圳極光的消息推送系統。
消息推送系統是一款手機通信軟體,通過手機網路和wifi即時接收服務端發送的消息,支持圖片和文字推送,即時性好,操作簡單,使用方便,支持服務端通過c2dm對手機終端進行消息提示,讓用戶及時了解世界的變化。支持ios,Android等多種平台手機。
深圳極光是面向移動開發領域與產品運營領域的線下研討會,旨在打造一個新技術與運營思維的聚集地,致力於解決 開發、產品、運營在工作中遇到的各類問題,並為大家提供一個思維碰撞、共同提升的互動平台。提供行業大數據標准化產品和服務,全面滿足您的業務場景和數據需求。

⑤ 如何利用Java開發高性能,高並發Web應用

太寬泛了,沒有具體到點,我也只能講的寬一點。


  1. 首先要有錢,高性能高並發,程序並不是最終決定性能的,硬體才是,什麼樣的硬體才好,很明顯了,你不會指望用小霸王學習機來跑淘寶吧。

  2. 良好的異常處理機制,這里指的並不是程序上的,而是硬體和突發事件人為處理的反應機制,比如地震把你們的某個機房幹掉了。

  3. 高性能的負載均衡方案,如nginx,LVS等。

  4. 良好的架構解決方案,比如消息匯流排的搭建,共享緩存的搭建,共享session的搭建,共享計時器的搭建等。

  5. 優秀的單體運行效率,這個才是程序的,要求程序運行效率高,漏洞少。

⑥ 高並發處理的幾種方法

一、將數據存到redis緩存
二、使用高性能的伺服器、高性能的資料庫、高效率的編程語言、還有高性能的Web容器.
三、使用Ngnix負載均衡

⑦ 如何搭建億級並發的系統架構

想設計億萬級高並發架構,你要先知道高並發是什麼?

面對流量高峰,不同的企業是如何通過技術手段解決高並發難題的呢?

0、引言

軟體系統有三個追求:高性能、高並發、高可用,俗稱三高。三者既有區別也有聯系,門門道道很多,全面討論需要三天三夜,本篇討論高並發。

高並發(High Concurrency)。並發是操作系統領域的一個概念,指的是一段時間內多任務流交替執行的現象,後來這個概念被泛化,高並發用來指大流量、高請求的業務情景,比如春運搶票,電商雙十一,秒殺大促等場景。

很多程序員每天忙著搬磚,平時接觸不到高並發,哪天受不了跑去面試,還常常會被面試官犀利的高並發問題直接KO,其實吧,高並發系統也不高深,我保證任何一個智商在線的看過這篇文章後,都能戰勝恐懼,重拾生活的信心。

本文先介紹高並發系統的度量指標,然後講述高並發系統的設計思路,再梳理高並發的關鍵技術,最後結合作者的經驗做一些延伸探討。

1、高並發的度量指標

既然是高並發系統,那並發一定要高,不然就名不副實。並發的指標一般有QPS、TPS、IOPS,這幾個指標都是可歸為系統吞吐率,QPS越高系統能hold住的請求數越多,但光關注這幾個指標不夠,我們還需要關注RT,即響應時間,也就是從發出request到收到response的時延,這個指標跟吞吐往往是此消彼長的,我們追求的是一定時延下的高吞吐。

比如有100萬次請求,99萬次請求都在10毫秒內響應,其他次數10秒才響應,平均時延不高,但時延高的用戶受不了,所以,就有了TP90/TP99指標,這個指標不是求平均,而是把時延從小到大排序,取排名90%/99%的時延,這個指標越大,對慢請求越敏感。

除此之外,有時候,我們也會關注可用性指標,這可歸到穩定性。

一般而言,用戶感知友好的高並發系統,時延應該控制在250毫秒以內。

什麼樣的系統才能稱為高並發?這個不好回答,因為它取決於系統或者業務的類型。不過我可以告訴你一些眾所周知的指標,這樣能幫助你下次在跟人扯淡的時候稍微靠點兒譜,不至於貽笑大方。

通常,資料庫單機每秒也就能抗住幾千這個量級,而做邏輯處理的服務單台每秒抗幾萬、甚至幾十萬都有可能,而消息隊列等中間件單機每秒處理個幾萬沒問題,所以我們經常聽到每秒處理數百萬、數千萬的消息中間件集群,而像阿某的API網關,每日百億請求也有可能。

2、高並發的設計思路

高並發的設計思路有兩個方向:

⑧ epoll編程,如何實現高並發伺服器開發

首先,我們需要了解epoll編程的概念。epoll是一項對linux內核進行的輪詢,以處理大量的文件描述符和一個增強版的Linux下多路復用IO介面選擇/投票。

一個成熟的高性能伺服器,epoll相關代碼,不到1萬分之一。在今天的posix和Unix /BSD/ systemv設計的回顧中,epoll補丁不應該被實現。非同步反應器框架應該只有一個簡單的、統一的選擇器。

5、是不是可以使用epoll技術跟多線程技術配合開發?如何?
6、系統應該怎樣開發使用TCP協議

⑨ Nginx+php(FastCGI)高性能伺服器怎麼搭建呢

Nginx+php(FastCGI)+Memcached+Mysql+APC Nginx高性能web伺服器安裝 APC模塊安裝 linux apc 配置安裝
參考資料 http://wgkgood.gicp.net問題補充:

不是 主要是網路不收錄 他們說經常在網路知道什麼的提問題,然後發表一些好文章附帶自己的網站,這樣會收錄快一些,謝謝一樓!謝謝大家的支持!

最佳答案 Nginx+php(FastCGI)+Memcached+Mysql+APC Nginx高性能web伺服器安裝 APC模塊安裝 linux apc 配置 fastCGI安裝配置3前言*
Nginx+php(FastCGI)+Memcached+Mysql+APC 是目前主流的高性能伺服器搭建方式!適合大中型網站,小型站長也可以採用這種組合!

Nginx 超越 Apache 的高性能和穩定性,使得國內使用 Nginx 作為 Web 伺服器的網站也越來越多,其中包括國內最大的電子地圖MapBar、新浪博客、新浪播客、網易新聞等門戶網站頻道,六間房、56.com等視頻分享網站,Discuz!官方論壇、水木社區等知名論壇,豆瓣、YUPOO相冊、海內SNS、迅雷在線等新興Web 2.0網站,更多的網站都在使用Nginx配置。

【Nginx+php(FastCGI)+Memcached+Mysql+APC Nginx高性能web伺服器安裝 APC模塊安裝 linux apc 配置 fastCGI安裝配置】

下載所需的安裝包:這里採用源碼編譯安裝:本博客集成下載
http://wgkgood.gicp.net/download/nginx-0.7.61.tar.gz
http://wgkgood.gicp.net/download/pcre-8.01.tar.gz
http://wgkgood.gicp.net/download/memcache-2.2.5.tgz
http://wgkgood.gicp.net/download/libevent-1.4.12-stable.tar.gz
http://wgkgood.gicp.net/download/APC-3.1.4.tgz

下載到 /usr/src下

另外還有兩個包mysql-5.1.41.tar.gz、php-5.3.5.tar.gz 【其他相似版本也可以!】可以在官網下載。

一、正式安裝Nginx、【安裝nginx之前需要安裝pcre包和zlib以支持重寫,正則以及網頁壓縮等等】

(1)首先安裝pcre:

cd /usr/src &&tar xzf pcre-8.01.tar.gz &&cd pcre-8.01 && ./configure –prefix=/usr/local/pcre &&make &&make install

(2)、然後再安裝nginx :

useradd www && cd /usr/src && tar xzf nginx-0.7.61.tar.gz &&cd nginx-0.7.61 && ./configure –prefix=/usr/local/nginx –with-http_stub_status_mole –with-openssl=/usr/ –with-pcre=/usr/src/pcre-8.01 –user=www –group=www &&make &&make install

【nginx注意* –with-pcre=/usr/src/pcre-8.01指向的是源碼包解壓的路徑,而不是安裝的路徑,否則會報

make[1]: *** [/usr/local/pcre/Makefile] Error 127 錯誤】
二、接下來安裝mysql

cd /usr/src && tar xzf mysql-5.1.41.tar.gz && cd mysql-5.1.41 && ./configure –prefix=/usr/local/mysql/ –enable-assembler –with-extra-charsets=complex –enable-thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=innobase && make &&make install

(2)、mysql安裝完畢,創建mysql用戶和組並初始化資料庫,並啟動資料庫。

cd /usr/local/mysql && useradd mysql && chown -R mysql:mysql /usr/local/mysql && /usr/local/mysql/bin/mysql_install_db –user=mysql && chown -R mysql:mysql var/ && ./bin/mysqld_safe –user=mysql &

即可。【如果mysql啟動報錯,請檢查 /usr/local/mysql/var 目錄,mysql是否有許可權】

三、安裝 php :

cd /usr/src &&tar xzf php-5.3.5.tar.gz && cd php-5.3.5 && ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql –with-mysqli=/u
sr/local/mysql/bin/mysql_config –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-li
bxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem
–enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fpm –enable-sockets && make &&make install

安裝完畢!【注意這個參數在此可以不加–enable-fastcgi;其他之前版本需要加上,以上安裝根據自己的選擇添加,如果報錯,根據具體報錯找原因】

四、整合Nginx和php(FastCGI)安裝完php-5.3.5後支持fastCGI

(1)、配置nginx ,拷貝nginx配置文件:
user www www;

worker_processes 8;

error_log /usr/local/logs/nginx/error.log crit;

pid /usr/local/nginx/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
{
use epoll;
worker_connections 51200;
}

http
{
include mime.types;
default_type application/octet-stream;

#charset gb2312;

server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;

sendfile on;
tcp_nopush on;

keepalive_timeout 60;

tcp_nodelay on;

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

#limit_zone crawler $binary_remote_addr 10m;

server
{
listen 80;
server_name wgkgood.gicp.net;
index index.php index.htm index.html;
root /usr/webapps/www;

#limit_conn crawler 20;

location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

location ~ .*\.(js|css)?$
{
expires 1h;
}

log_format access 『$remote_addr – $remote_user [$time_local] 「$request」 『
『$status $body_bytes_sent 「$http_referer」 『
『」$http_user_agent」 $http_x_forwarded_for』;
access_log /usr/local/logs/nginx/access.log access;
}

}

Nginx配置完畢!啟動nginx ;/usr/local/nginx/sbin/nginx 即可,重啟nginx命令如下/usr/local/nginx/sbin/nginx –s reload

此配置文件僅供參考,感謝張宴老師!

(2)、配置fcgi.conf文件如下

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;

fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with –enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;

五、配置php配置文件:

cd /usr/local/php5/etc/ && cp

php-fpm.conf.default php-fpm.conf 然後根據提示修改php-fpm.conf裡面的選項。

配置完畢後,啟動php-fpm

cp /usr/src/php-5.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 然後啟動 /etc/init.d/php-fpm start 即可。

六、安裝apc配置:

cd /usr/src && tar xzf APC-3.1.4.tgz &&cd APC-3.1.4

/usr/local/php5/bin/phpize 【增加擴展模塊】

./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/php5/bin/php-config

&&make&& make install

安裝完後會生成一個apc.so在/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/裡面。

七、安裝memcached,使fastcGI支持memcached

首先安裝libevent,

cd /usr/src && tar xzf libevent-1.4.12-stable.tar.gz && cd libevent-1.4.12-stable && ./configure –prefix=/usr/local/libevent &&make && make install

然後安裝memcached

tar xzf memcache-2.2.5.tar.gz && cd memcache-2.2.5 && /usr/local/php5/bin/phpize && ./configure –prefix=/usr/local/memcached –with-libevent=/usr/local/libevent –with-php-config=/usr/local/php5/bin/php-config &&make &&make install

安裝完後,會在/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/里生成一個memcache.so 這個模塊:

八、接下來修改php.ini

默認的php.ini在/usr/local/php5/lib/php.ini 你也可以指定:

extension_dir = 「./」

修改為

extension_dir=」/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626〃

把下面這些添加到最後:

extension = apc.so

extension=memcache.so //這里引用緩存模塊

[APC]

apc.enabled = 1

apc.shm_segments = 1

apc.shm_size = 64M

apc.optimization = 1

apc.num_files_hint = 0

apc.ttl=7200

apc.user_ttl=7200

apc.gc_ttl = 3600

apc.cache_by_default = on

安裝到此已經完成!

重新啟動nginx和php-fpm ,用測試頁面訪問。

此文章僅供參考!有不妥之處歡迎指正!共同學習!

http://wgkgood.gicp.net 本博客採用的nginx+fastcGI+mysql+memcached+apc完美架構整合!

感謝張宴老師

http://blog.s135.com/nginx_php_v6/

⑩ 如何利用Java開發高性能高並發Web應用.ppt

1、提供HTML靜態訪問

web界面上最快的訪問速度是什麼?當然是最原始的HTML文件訪問,對於其他語言 比如 jsp ,asp,php等等,他們首先要通過伺服器解析成html之後在返回給訪問者,如果我們能提供全部是htm來的頁面,那麼就能大大的降低伺服器和資料庫資源的利用和提高網站的並發,所以我們盡可能使我們的網站上的頁面採用靜態頁面來實現,這個最簡單的方法其實也是最有效的方法。當然實現這種方式大家比較了解的就是信息發布系統CMS,信息發布系統可以實現最簡單的信息錄入自動生成靜態頁面,還能具備頻道管理、許可權管理、自動抓取等功能,對於一個大型網站來說,擁有一套高效、可管理的CMS是必不可少的。
在後續的文章中我們會單獨的使用jsp + servlet實現一個簡單的信息發布系統.
2、使用獨立的圖片伺服器

為什麼要把圖片單獨設置一個伺服器?對於Web伺服器來說,圖片消耗的伺服器資源是最多的,如果能把所有的圖片資源放到一個單獨的圖片伺服器中進行處理的話,可以降低提供頁面訪問請求的伺服器系統壓力,從而能進一步的提高web程序的並發.所以在有條件的情況下最好能把圖片放置到一個單獨的伺服器中.
3、配置多台資料庫伺服器,多個資料庫集群
集群(Cluster)技術是使用特定的連接方式,將價格相對較低的硬體設備結合起來,同時也能提供高性能相當的任務處理能力。
越是大型高並發的應用,資料庫的壓力就會越大,如果資料庫操作很頻繁,資料庫的瓶頸很快就能顯現出來,這時一台資料庫將很快無法滿足應用,於是我們需要使用資料庫集群。
資料庫集群就是使用多個資料庫伺服器分擔請求的壓力,達到快速響應的目的.
4、使用緩存
所謂的緩存就是把數據咱是放置到內存中,前台在請求的時候直接從內存中讀取數據,而不需要去查詢資料庫或者讀取文件等,這樣就能做到最快的響應。網站架構和網站開發中的緩存是非常重要的。
目前有很多開源的緩沖實現方案,APC,File,SQLite,Memcache等等各種類庫實現著不同的緩存方式,只有通過了解他們的實現方式,根據具體應用具體選擇,才會使緩存系統發揮出最大的性能。
對於java開發來說,大名頂頂的 分布式緩存系統Memcache 可能是最好的選擇,他提供一個基於Socket的訪問方式,使得該緩存系統支持遠程讀寫訪問。盡管這個緩存的內容可能是存在內存中,也可能是存在文件內。

閱讀全文

與如何開發高性能高並發伺服器相關的資料

熱點內容
ne40e命令 瀏覽:83
安卓輸入法使用什麼編碼 瀏覽:182
手機如何開淘寶店步驟安卓手機 瀏覽:591
創業伺服器不屬於自己怎麼辦 瀏覽:537
mc小游戲手機版伺服器地址 瀏覽:420
土力學李廣信pdf 瀏覽:144
天融信防火牆命令行 瀏覽:214
qq安卓在線怎麼改 瀏覽:688
加密鑽台維修技巧 瀏覽:465
如何關閉蘋果手機後台app刷新 瀏覽:29
如何把命令框里的輸出到窗口 瀏覽:531
離線版mc如何開伺服器 瀏覽:886
結對程序員 瀏覽:780
使用過的蘋果手機怎麼同步app 瀏覽:344
phpcookie無效 瀏覽:954
python可以搜數學答案 瀏覽:706
均線衍生指標源碼設置 瀏覽:496
做精一張圖pdf 瀏覽:851
編程培訓小朋友 瀏覽:787
巴克球製作解壓 瀏覽:851