摘要:阿里云,采用與模式類(lèi)似的方案,解決了進(jìn)程模式在高并發(fā)的情況下性能下降的問(wèn)題。具體測(cè)試結(jié)果分析阿里云在高并發(fā)下,相比社區(qū)版本好很多,更加平穩(wěn)。阿里云引入了機(jī)制后,響應(yīng)延遲,抖動(dòng)相比社區(qū)版本低了很多。
摘要: 背景 進(jìn)程模型數(shù)據(jù)庫(kù),需要為每個(gè)會(huì)話指派獨(dú)立的進(jìn)程與之服務(wù),在連接數(shù)非常多,且大都是活躍連接時(shí),進(jìn)程調(diào)度浪費(fèi)或引入的開(kāi)銷(xiāo)甚至遠(yuǎn)遠(yuǎn)大于實(shí)際任務(wù)需要的開(kāi)銷(xiāo)(例如上下文切換,MEMCPY等),性能下降會(huì)較為嚴(yán)重。
背景
進(jìn)程模型數(shù)據(jù)庫(kù),需要為每個(gè)會(huì)話指派獨(dú)立的進(jìn)程與之服務(wù),在連接數(shù)非常多,且大都是活躍連接時(shí),進(jìn)程調(diào)度浪費(fèi)或引入的開(kāi)銷(xiāo)甚至遠(yuǎn)遠(yuǎn)大于實(shí)際任務(wù)需要的開(kāi)銷(xiāo)(例如上下文切換,MEMCPY等),性能下降會(huì)較為嚴(yán)重。
PostgreSQL與Oracle Dedicate Server一樣,屬于進(jìn)程模型。在非常高并發(fā)的情況下,性能會(huì)下降比較厲害,通常社區(qū)版本可以通過(guò)加連接池來(lái)解決,例如pgbouncer,但是加連接池也會(huì)帶來(lái)一些問(wèn)題:
1、綁定變量無(wú)法很好的滿足,當(dāng)然,PostgreSQL 11會(huì)增加類(lèi)似Oracle cursor force的功能,內(nèi)部將非綁定變量的SQL轉(zhuǎn)換為綁定變量。
《PostgreSQL 11 preview - 強(qiáng)制auto prepared statment開(kāi)關(guān)(自動(dòng)化plan cache)(類(lèi)似Oracle cursor_sharing force)》
2、連接池會(huì)使得跳數(shù)增加,增加了延遲。
3、數(shù)據(jù)庫(kù)防火墻配置的變化。從直接控制應(yīng)用端來(lái)源,變成了連接池端來(lái)源。(除非修改連接池層的代碼,做到來(lái)源IP和端口透?jìng)鳎?/p>
Oracle為了解決性能問(wèn)題,提出了shared server的概念,類(lèi)似數(shù)據(jù)庫(kù)端的backend process pool,一個(gè)process可能服務(wù)于多個(gè)client。
PostgreSQL也可以如法炮制,比如阿里云RDS PG內(nèi)核層面增加了內(nèi)置的POOL。在高并發(fā)的情況下,性能好很多。
測(cè)試CASE
1、測(cè)試64 ~ 16384個(gè)并發(fā)
2、測(cè)試TPC-B,包含5億數(shù)據(jù)量。
3、測(cè)試logged table與unlogged table
4、測(cè)試對(duì)比社區(qū)PostgreSQL 10 與 阿里云PostgreSQL 10
測(cè)試環(huán)境準(zhǔn)備
1、數(shù)據(jù)庫(kù)使用huge page
《PostgreSQL Huge Page 使用建議 - 大內(nèi)存主機(jī)、實(shí)例注意》
2、修改pgbench,支持超過(guò)1000個(gè)連接的測(cè)試
《PostgreSQL 11 preview - pgbench 支持大于1000鏈接(ppoll()代替select())》
https://commitfest.postgresql...
《從PostgreSQL支持100萬(wàn)個(gè)連接聊起》
如果使用ppoll,則pstack pgbench可以看到類(lèi)似如下信息
Thread 1 (Thread 0x7f3f4d89d840 (LWP 116621)): #0 0x00007f3f4ca4569d in poll () from /lib64/libc.so.6 #1 0x00007f3f4d45a9cf in poll (__timeout=-1, __nfds=1, __fds=0x7ffcd6e13c80) at /usr/include/bits/poll2.h:46 #2 pqSocketPoll (end_time=-1, forWrite=0, forRead=28675152, sock=) at fe-misc.c:1129 #3 pqSocketCheck (conn=conn@entry=0x1b58c50, forRead=forRead@entry=1, forWrite=forWrite@entry=0, end_time=end_time@entry=-1) at fe-misc.c:1071 #4 0x00007f3f4d45aa50 in pqWaitTimed (forRead=forRead@entry=1, forWrite=forWrite@entry=0, conn=conn@entry=0x1b58c50, finish_time=finish_time@entry=-1) at fe-misc.c:1003 #5 0x00007f3f4d454012 in connectDBComplete (conn=0x1b58c50) at fe-connect.c:1902 #6 PQconnectdbParams (keywords= , values= , expand_dbname= ) at fe-connect.c:542 #7 0x000000000040576a in doConnect () #8 0x0000000000406e29 in threadRun () #9 0x0000000000403a1b in main ()
3、修改系統(tǒng)配置,保證有足夠的fd, proc等
《PostgreSQL 10 + PostGIS + Sharding(pg_pathman) + MySQL(fdw外部表) on ECS 部署指南(適合新用戶) - 珍藏級(jí)》
4、postgresql.conf 通用配置
listen_addresses = "0.0.0.0" max_connections = 30000 superuser_reserved_connections = 13 unix_socket_directories = "/tmp,." tcp_keepalives_idle = 60 tcp_keepalives_interval = 10 tcp_keepalives_count = 0 shared_buffers = 32GB huge_pages = on maintenance_work_mem = 1GB dynamic_shared_memory_type = posix vacuum_cost_delay = 0 bgwriter_delay = 10ms bgwriter_lru_maxpages = 500 effective_io_concurrency = 0 max_parallel_workers_per_gather = 0 wal_level = minimal fsync = on synchronous_commit = on full_page_writes = on wal_buffers = 32MB checkpoint_timeout = 15min max_wal_size = 64GB min_wal_size = 16GB checkpoint_completion_target = 0.1 max_wal_senders = 0 random_page_cost = 1.2 log_destination = "csvlog" logging_collector = on log_truncate_on_rotation = on log_checkpoints = on log_connections = on log_disconnections = on log_error_verbosity = verbose log_timezone = "PRC" autovacuum = on log_autovacuum_min_duration = 0 autovacuum_freeze_max_age = 900000000 autovacuum_multixact_freeze_max_age = 900000000 autovacuum_vacuum_cost_delay = 0ms vacuum_freeze_min_age = 500000 vacuum_freeze_table_age = 1500000000 vacuum_multixact_freeze_min_age = 5000000 vacuum_multixact_freeze_table_age = 1500000000 datestyle = "iso, mdy" timezone = "PRC" lc_messages = "en_US.utf8" lc_monetary = "en_US.utf8" lc_numeric = "en_US.utf8" lc_time = "en_US.utf8" default_text_search_config = "pg_catalog.english"
5、社區(qū)版本與阿里云版本的差異配置
native
port = 1921
aliyun
port = 1999 shared_preload_libraries = "pg_concurrency_control.so" pg_concurrency_control.query_concurrency=64 pg_concurrency_control.bigquery_concurrency=64 pg_concurrency_control.transaction_concurrency=64 pg_concurrency_control.autocommit_concurrency=64
測(cè)試TPC-B
TPC-B測(cè)試SQL如下
scale=5000 set aid random(1, 100000 * :scale) set bid random(1, 1 * :scale) set tid random(1, 10 * :scale) set delta random(-5000, 5000) BEGIN; UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; SELECT abalance FROM pgbench_accounts WHERE aid = :aid; UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP); END;
logged table
1、初始化
./pgsql11/bin/pgbench -i -s 5000
2、表大小
postgres=# dt+ List of relations Schema | Name | Type | Owner | Size | Description --------+------------------+-------+----------+---------+------------- public | pgbench_accounts | table | postgres | 63 GB | public | pgbench_branches | table | postgres | 216 kB | public | pgbench_history | table | postgres | 0 bytes | public | pgbench_tellers | table | postgres | 2200 kB | (4 rows)
3、社區(qū)版本測(cè)試腳本如下
vi test_native.sh #!/bin/bash export PGHOST=/tmp export PGPORT=1921 export PGUSER=postgres export PGDATABASE=postgres Y=32 for ((i=1;i<=7;i++)) do X=$((Y*2)) psql -c "vacuum freeze" psql -c "checkpoint" ./pgsql11/bin/pgbench -M prepared -n -r -P 3 -c $X -j 64 -T 300 > ./test_native_$X.log 2>&1 Y=X done psql -c "vacuum freeze" psql -c "checkpoint" ./pgsql11/bin/pgbench -M prepared -n -r -P 3 -c 8192 -j 128 -T 600 > ./test_native_8192.log 2>&1 psql -c "vacuum freeze" psql -c "checkpoint" ./pgsql11/bin/pgbench -M prepared -n -r -P 3 -c 16384 -j 256 -T 600 > ./test_native_16384.log 2>&1
測(cè)試方法
chmod 700 ./test_native.sh nohup ./test_native.sh >/dev/null 2>&1 &
5、阿里云版本測(cè)試腳本如下
vi test_aliyun.sh #!/bin/bash export PGHOST=/tmp export PGPORT=1999 export PGUSER=postgres export PGDATABASE=postgres Y=32 for ((i=1;i<=7;i++)) do X=$((Y*2)) psql -c "vacuum freeze" psql -c "checkpoint" ./pgsql11/bin/pgbench -M prepared -n -r -P 3 -c $X -j 64 -T 300 > ./test_aliyun_$X.log 2>&1 Y=X done psql -c "vacuum freeze" psql -c "checkpoint" ./pgsql11/bin/pgbench -M prepared -n -r -P 3 -c 8192 -j 128 -T 600 > ./test_aliyun_8192.log 2>&1 psql -c "vacuum freeze" psql -c "checkpoint" ./pgsql11/bin/pgbench -M prepared -n -r -P 3 -c 16384 -j 256 -T 600 > ./test_aliyun_16384.log 2>&1
測(cè)試方法
chmod 700 ./test_aliyun.sh nohup ./test_aliyun.sh >/dev/null 2>&1 & unlogged table
1、初始化
./pgsql11/bin/pgbench -i -s 5000 --unlogged-tables
2、修改數(shù)據(jù)庫(kù)配置
vi $PGDATA/postgresql.conf synchronous_commit = off pg_ctl reload
3、測(cè)試同樣的腳本
性能對(duì)比
1 logged table對(duì)比
1、TPS對(duì)比
連接數(shù) 社區(qū)版本TPS 阿里云版本TPS 社區(qū)版本TPS
(過(guò)濾首尾干擾值) 阿里云版本TPS
(過(guò)濾首尾干擾值)
64 69216 67853 無(wú)干擾 無(wú)干擾
128 69211 65712 無(wú)干擾 無(wú)干擾
256 62964 62775 無(wú)干擾 無(wú)干擾
512 44595 53382 46141 54988
1024 35055 44295 37022 48679
2048 26791 38881 30327 44358
4096 24218 26990 32023 39086
8192 7064 24304 18611 34316
16384 5046 12478 10020 29499
1.6萬(wàn)并發(fā)時(shí),約3倍于社區(qū)版本。
2、事務(wù)整體RT對(duì)比
連接數(shù) 社區(qū)版本RT 阿里云版本RT
64 0.923 ms 0.941 ms
128 1.839 ms 1.936 ms
256 4.010 ms 4.021 ms
512 11.151 ms 9.269 ms
1024 27.475 ms 21.070 ms
2048 67.295 ms 46.063 ms
4096 127.923 ms 104.689 ms
8192 999.236 ms 239.466 ms
16384 1594.185 ms 577.913 ms
3、實(shí)際SQL RT對(duì)比
連接數(shù) 社區(qū)版本RT 阿里云版本RT
64 0.428 ms 0.465 ms
128 0.698 ms 0.734 ms
256 1.784 ms 1.658 ms
512 4.736 ms 4.378 ms
1024 11.082 ms 8.664 ms
2048 37.258 ms 8.007 ms
4096 65.486 ms 7.395 ms
8192 818.411 ms 6.472 ms
16384 1183.571 ms 4.927 ms
1.6萬(wàn)連接時(shí),真實(shí)SQL響應(yīng)速度約240倍于社區(qū)版本。
4、RT 標(biāo)準(zhǔn)方差對(duì)比
連接數(shù) 社區(qū)版本RT DEV 阿里云版本RT DEV
64 2.960 ms 2.863 ms
128 7.559 ms 4.914 ms
256 6.595 ms 6.090 ms
512 11.810 ms 8.704 ms
1024 30.656 ms 46.411 ms
2048 88.371 ms 68.239 ms
4096 183.815 ms 140.255 ms
8192 20114.612 ms 345.584 ms
16384 2404.222 ms 1116.238 ms
5、建立完所有連接的耗時(shí)對(duì)比
連接數(shù) 社區(qū)版本 阿里云版本
64 0 s 0 s
128 0 s 0 s
256 4.8 s 5 s
512 8.9 s 11.3 s
1024 18.5 s 27.4 s
2048 36.3 s 37.8 s
4096 73.5 s 93.6 s
8192 150.9 s 168.6 s
16384 306 s 341.8 s
6、釋放完所有連接的耗時(shí)對(duì)比
連接數(shù) 社區(qū)版本 阿里云版本
64 0 s 0 s
128 0 s 0 s
256 0 s 0 s
512 0 s 0 s
1024 0 s 0 s
2048 0 s 0 s
4096 0 s 0 s
8192 594 s 9 s
16384 21 s 24 s
2 unlogged table對(duì)比
1、TPS對(duì)比
連接數(shù) 社區(qū)版本TPS 阿里云版本TPS 社區(qū)版本TPS
(過(guò)濾首尾干擾值) 阿里云版本TPS
(過(guò)濾首尾干擾值)
64 99086 95932 無(wú)干擾 無(wú)干擾
128 86807 86719 無(wú)干擾 無(wú)干擾
256 69805 74371 70766 75143
512 49147 59423 50369 61153
1024 42295 45883 44798 48910
2048 32147 38698 36729 44552
4096 23556 27604 31504 38334
8192 17037 24524 22937 34553
16384 196 12668 1943 30273
2、事務(wù)整體RT對(duì)比
連接數(shù) 社區(qū)版本RT 阿里云版本RT
64 0.644 ms 0.666 ms
128 1.466 ms 1.466 ms
256 3.617 ms 3.391 ms
512 10.115 ms 8.343 ms
1024 22.761 ms 20.864 ms
2048 55.771 ms 45.903 ms
4096 130.195 ms 107.858 ms
8192 356.904 ms 239.312 ms
16384 66640.630 ms 570.207 ms
3、實(shí)際SQL RT對(duì)比
連接數(shù) 社區(qū)版本RT 阿里云版本RT
64 0.475 ms 0.501 ms
128 0.934 ms 0.854 ms
256 2.109 ms 1.842 ms
512 4.656 ms 4.587 ms
1024 9.837 ms 8.69 ms
2048 36.882 ms 7.928 ms
4096 67.513 ms 7.522 ms
8192 201.208 ms 6.536 ms
16384 65428.243 ms 4.811 ms
4、RT 標(biāo)準(zhǔn)方差對(duì)比
連接數(shù) 社區(qū)版本RT DEV 阿里云版本RT DEV
64 2.941 ms 1.767 ms
128 4.445 ms 2.763 ms
256 5.515 ms 2.775 ms
512 11.424 ms 4.447 ms
1024 28.950 ms 16.575 ms
2048 87.051 ms 52.400 ms
4096 200.132 ms 149.614 ms
8192 403.771 ms 358.461 ms
16384 462277.689 ms 1161.376 ms
5、建立完所有連接的耗時(shí)對(duì)比
連接數(shù) 社區(qū)版本 阿里云版本
64 0 s 0 s
128 0 s 0 s
256 4.9 s 5.3 s
512 9.4 s 10.2 s
1024 18.5 s 20.2 s
2048 37.6 s 40 s
4096 75 s 81.3 s
8192 151.6 s 168.4 s
16384 312.1 s 341.5 s
6、釋放完所有連接的耗時(shí)對(duì)比
連接數(shù) 社區(qū)版本 阿里云版本
64 0 s 0 s
128 0 s 0 s
256 0 s 0 s
512 0 s 0 s
1024 0 s 0 s
2048 0 s 0 s
4096 3 s 3 s
8192 6 s 9 s
16384 3312 s 27 s
小結(jié)
進(jìn)程模型數(shù)據(jù)庫(kù),需要為每個(gè)會(huì)話指派獨(dú)立的進(jìn)程與之服務(wù),在連接數(shù)非常多,且大都是活躍連接時(shí),進(jìn)程調(diào)度浪費(fèi)或引入的開(kāi)銷(xiāo)甚至遠(yuǎn)遠(yuǎn)大于實(shí)際任務(wù)需要的開(kāi)銷(xiāo)(例如上下文切換,MEMCPY等),性能下降會(huì)較為嚴(yán)重。
阿里云RDS PG,采用與Oracle Shared Server模式類(lèi)似的方案,解決了進(jìn)程模式在高并發(fā)的情況下性能下降的問(wèn)題。
在超過(guò)1萬(wàn)個(gè)活躍并發(fā)的情況下,阿里云RDS PG的TPC-B測(cè)試指標(biāo)依舊能夠保持15萬(wàn)左右的QPS (消除干擾項(xiàng)),吞吐能力是社區(qū)版本的3倍。同時(shí),在低并發(fā)的情況下,性能不減,與社區(qū)版本相當(dāng)。
具體測(cè)試結(jié)果分析:
1、阿里云RDS PG在高并發(fā)下,TPS相比社區(qū)版本好很多,更加平穩(wěn)。
2、阿里云RDS PG引入了POOL機(jī)制后,響應(yīng)延遲,抖動(dòng)相比社區(qū)版本低了很多。
3、啟用POOL后,整個(gè)事務(wù)的RT,相比社區(qū)版本降低,使得整個(gè)處理吞吐得到提升。
4、啟用POOL機(jī)制,使得一個(gè)事務(wù)中,真正執(zhí)行SQL的時(shí)間大大縮短。同時(shí)還避免了鎖等待的問(wèn)題。
16384個(gè)連接,社區(qū)版本
1.750 BEGIN; 21.531 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; 0.745 SELECT abalance FROM pgbench_accounts WHERE aid = :aid; 461.077 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; 700.583 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; 1.958 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP); 408.864 END;
16384個(gè)連接,阿里云版本
559.291 BEGIN; 2.359 UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid; 1.223 SELECT abalance FROM pgbench_accounts WHERE aid = :aid; 1.191 UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid; 2.310 UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid; 0.981 INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP); 13.695 END;
對(duì)比以上兩個(gè)版本的事務(wù)BEGIN的耗費(fèi)時(shí)間、SQL執(zhí)行時(shí)間的分布:
社區(qū)版本的SQL執(zhí)行時(shí)間耗時(shí)更高(基本達(dá)到了500毫秒左右);
阿里云的PG版本,SQL執(zhí)行時(shí)間非常短(基本都在1毫秒左右)。
實(shí)際的DML SQL執(zhí)行越久,持鎖就越久,并發(fā)1萬(wàn)多時(shí),社區(qū)版本PG出現(xiàn)較多WAITING狀態(tài),就可以說(shuō)明問(wèn)題。
0:00.18 postgres: postgres postgres [local] UPDATE waiting 0:02.62 postgres: postgres postgres [local] UPDATE waiting 0:00.15 postgres: postgres postgres [local] UPDATE waiting 0:00.17 postgres: postgres postgres [local] UPDATE waiting 0:00.12 postgres: postgres postgres [local] UPDATE waiting 0:00.11 postgres: postgres postgres [local] UPDATE waiting .............................. 0:00.13 postgres: postgres postgres [local] COMMIT 0:00.13 postgres: postgres postgres [local] UPDATE waiting 0:00.13 postgres: postgres postgres [local] UPDATE waiting 0:00.16 postgres: postgres postgres [local] UPDATE waiting 0:00.14 postgres: postgres postgres [local] UPDATE waiting .....................
阿里云RDS PG內(nèi)置POOL,不會(huì)導(dǎo)致SQL執(zhí)行時(shí)間變長(zhǎng)。因此有效的避免了持有資源鎖的問(wèn)題,是的真實(shí)的SQL RT非常的平穩(wěn)。
連接數(shù) 社區(qū)版本RT 阿里云版本RT
64 0.475 ms 0.501 ms
128 0.934 ms 0.854 ms
256 2.109 ms 1.842 ms
512 4.656 ms 4.587 ms
1024 9.837 ms 8.69 ms
2048 36.882 ms 7.928 ms
4096 67.513 ms 7.522 ms
8192 201.208 ms 6.536 ms
16384 65428.243 ms 4.811 ms
5、啟用POOL后,16384個(gè)連接高并發(fā)下,收尾時(shí)長(zhǎng)縮短。從3312秒縮短到了27秒。
6、進(jìn)程模式,建立連接比較耗時(shí),如果業(yè)務(wù)上需要短時(shí)間內(nèi)創(chuàng)建大量連接,也是一個(gè)瓶頸。比如創(chuàng)建16384個(gè)連接,串行創(chuàng)建,全部建立完16384個(gè)連接大概需要花費(fèi)300秒。這樣的業(yè)務(wù),建議采用業(yè)務(wù)層連接池,并且配置較少的后端連接。
7、pgbench在統(tǒng)計(jì)TPS時(shí),從所有連接建立完成,到所有連接退出,這之間產(chǎn)生的TPS。當(dāng)需要建立很多連接或釋放很多連接時(shí),可能會(huì)耗時(shí)比較久,導(dǎo)致實(shí)際測(cè)試的性能不準(zhǔn),特別是在8000個(gè)連接以上時(shí),斷開(kāi)連接過(guò)程中,TPS下降比較明顯,并且會(huì)被統(tǒng)計(jì)進(jìn)去,實(shí)測(cè)600秒,到1000多秒才完成統(tǒng)計(jì),詳見(jiàn)LOG。
8、阿里云RDS PG內(nèi)置POOL,相比外置連接池,還有一個(gè)好處是“不會(huì)影響綁定變量的使用,也不會(huì)引入新的跳數(shù),同時(shí)不會(huì)影響數(shù)據(jù)庫(kù)pg_hba.conf防火墻的配置”。
在超過(guò)1萬(wàn)個(gè)活躍并發(fā)的情況下,阿里云RDS PG的TPC-B測(cè)試指標(biāo)依舊能夠保持15萬(wàn)左右的QPS (消除干擾項(xiàng)),吞吐能力是社區(qū)版本的3倍。真實(shí)SQL執(zhí)行響應(yīng)速度240倍于社區(qū)版本。同時(shí)低并發(fā)的情況下,性能不減,與社區(qū)版本相當(dāng)。
原文鏈接
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/17765.html
摘要:昨天寫(xiě)的小企業(yè)如何選擇阿里云服務(wù)器已刪除,重新編輯了一篇之前已經(jīng)在個(gè)人如何選擇阿里云服務(wù)器文章中介紹了個(gè)人購(gòu)買(mǎi)阿里云服務(wù)器的方法,今天來(lái)說(shuō)下小企業(yè)如何選擇阿里云服務(wù)器的配置。昨天寫(xiě)的小企業(yè)如何選擇阿里云服務(wù)器已刪除,重新編輯了一篇之前已經(jīng)在個(gè)人如何選擇阿里云服務(wù)器文章中介紹了個(gè)人購(gòu)買(mǎi)阿里云服務(wù)器的方法,今天來(lái)說(shuō)下小企業(yè)如何選擇阿里云服務(wù)器的配置。 企業(yè)和個(gè)人最大的區(qū)別就是企業(yè)面向的用戶眾多,...
摘要:今天來(lái)說(shuō)下企業(yè)如何選擇阿里云服務(wù)器的配置。其中計(jì)算型一般用來(lái)做服務(wù)器,這也是阿里云官方推薦的配置。如果企業(yè)有別的特殊業(yè)務(wù)需求,則可以參考阿里云給出的各個(gè)架構(gòu)的特點(diǎn)進(jìn)行選擇。今天來(lái)說(shuō)下企業(yè)如何選擇阿里云服務(wù)器的配置。 企業(yè)和個(gè)人最大的區(qū)別就是企業(yè)面向的用戶眾多,對(duì)訪問(wèn)速度和數(shù)據(jù)安全性要求非常高。試想下你的網(wǎng)站三天兩頭被黑客攻擊,網(wǎng)站被黑了,數(shù)據(jù)沒(méi)了,這樣的網(wǎng)站怎么能吸引到用戶呢。 對(duì)于個(gè)人站長(zhǎng)...
摘要:如果企業(yè)有別的特殊業(yè)務(wù)需求,則可以參考阿里云給出的各個(gè)架構(gòu)的特點(diǎn)進(jìn)行選擇。就是我們的數(shù)據(jù)庫(kù),具體選擇哪項(xiàng),則依賴(lài)于我們用到數(shù)據(jù)庫(kù)的版本,目前阿里云上主要具有四個(gè)版本的數(shù)據(jù)庫(kù),分別是,,,。如今上云服務(wù)器已經(jīng)成為企業(yè)和個(gè)人部署站點(diǎn)的首選,成本非常低,可以升降配。阿里的云市場(chǎng)有各種業(yè)務(wù)的解決方案。 企業(yè)和個(gè)人最大的區(qū)別就是企業(yè)面向的用戶眾多,對(duì)訪問(wèn)速度和數(shù)據(jù)安全性要求非常高。試想下你的網(wǎng)站三天兩...
摘要:云棲大會(huì)北京峰會(huì)上,阿里云宣布啟動(dòng)數(shù)據(jù)庫(kù)開(kāi)源項(xiàng)目。日前,用戶內(nèi)測(cè)邀請(qǐng)正式啟動(dòng)。測(cè)試報(bào)告樣例阿里云關(guān)系數(shù)據(jù)庫(kù)服務(wù)內(nèi)核開(kāi)發(fā)和運(yùn)維團(tuán)隊(duì)負(fù)責(zé)人,活躍的社區(qū)貢獻(xiàn)者丁奇表示,在通用基準(zhǔn)測(cè)試場(chǎng)景下,版本比官方版本有著的性能提升。 2016 云棲大會(huì)·北京峰會(huì)上,阿里云宣布啟動(dòng) AliSQL 數(shù)據(jù)庫(kù)開(kāi)源項(xiàng)目。日前,用戶內(nèi)測(cè)邀請(qǐng)正式啟動(dòng)。根據(jù)阿里云數(shù)據(jù)庫(kù)團(tuán)隊(duì)的規(guī)劃,今年 10 月,開(kāi)發(fā)者將可以在阿里云 Cod...
閱讀 1076·2021-09-13 10:29
閱讀 3418·2019-08-29 18:31
閱讀 2665·2019-08-29 11:15
閱讀 3042·2019-08-26 13:25
閱讀 1403·2019-08-26 12:00
閱讀 2383·2019-08-26 11:41
閱讀 3472·2019-08-26 10:31
閱讀 1518·2019-08-26 10:25