Bài viết
Chia sẻ kiến thức của bạn.
Cách tốt nhất để đánh giá thông lượng giao dịch của Sui là gì?
- Sui
- Move
Câu trả lời
14Để đánh giá thông lượng giao dịch của Sui, hãy sử dụng Sui SDK để gửi khối lượng giao dịch lớn với các phụ thuộc đối tượng khác nhau. Tập trung vào các hoạt động độc lập, đối tượng sở hữu để tối đa hóa việc thực thi song song. Sử dụng các khối giao dịch có thể lập trình (PTB) để hàng loạt nhiều hoạt động và đo lường giao dịch mỗi giây (TPS) trong một khoảng thời gian cố định. Theo dõi kết quả thông qua sui_getTransactionBlocks
và phân tích độ trễ đầu cuối. Đảm bảo khối lượng công việc của bạn tránh được tranh chấp đối tượng được chia sẻ, điều này hạn chế tính song song. Để có độ chính xác, hãy chạy các bài kiểm tra với điểm cuối RPC testnet chuyên dụng và tổng hợp dữ liệu trên nhiều lần chạy.
Đểđánh giá hiệu suất giao dịch của Suimột cách hiệu quả và xác nhận các yêu cầu về hiệu quảcủa Sui, bạn có thể sử dụng một số công cụ, kỹ thuật và phương pháp luận. Thử nghiệm trênSui Testnetcó thể giúp bạn đo lường mức độ mạng xử lý các loại giao dịch khác nhau và đảm bảo rằng hệ thống hoạt động như mong đợi khi tải. Dưới đây là cách tiếp cận có cấu trúc để chuẩnthông lượng giao dịchcủa Sui:
1.** Xác định các số liệu chính để đo lượng**
Trước khi bắt đầu, hãy xác định số liệu cụ thể bạn muốn đo lường. Điểm chuẩn phổ biến chothông lượng giao dịchbao gồm:
*Giao dịch mỗi giây (TPS): Đây là số liệu chính để đo thông lượng của mạng. *** Độ trễ (thời gian xác nhận giao dịch)**: Thời gian cần thiết để một giao dịch được xử lý và xác nhận bởi mạng. *Tiêu thụ khí: Đo chi phí gas cho mỗi giao dịch và mức độ thay đổi theo các loại giao dịch khác nhau.
2.** Sử dụng các công cụ điểm chuẩn tích hợp của Sui**
Sui cung cấp một số cách để đánh giá và đo lường hiệu suất:
a)Client Sui CLI
Sui CLI(sui client
) có thể được sử dụng để tương tác với Testnet và cũng có thể được sử dụng để mô phỏng các giao dịch. Bằng cách sử dụng simulate-transaction
lệnh, bạn có thể đánh giá chi phí gas dự kiến và độ trễ của các giao dịch.
Ví dụ:
sui client simulate-transaction --gas-budget 10000 --transaction <transaction_file>
Điều này sẽ cung cấp cho bạn ước tính khí và giúp bạn đo thời gian cần thiết để mô phỏng các giao dịch trên Testnet.
b)Tập lệnh điểm chuẩn Sui(Tập lệnh tùy chỉnh)
Bạn có thể viếtkịch bản điểm chuẩn bằngbằngSDKcủa Sui (bằng TypeScript, Python hoặc các ngôn ngữ được hỗ trợ khác). Các tập lệnh này có thể mô phỏng và gửi các giao dịch với tốc độ được chỉ định đến Testnet, cho phép bạn đo thông lượng.
Ví dụ:
const { SuiClient, TransactionBlock } = require('@mysten/sui.js');
const client = new SuiClient({ rpcUrl: "https://testnet.sui.io/rpc" });
async function benchmarkTransactions(numTransactions: number) {
const startTime = Date.now();
for (let i = 0; i < numTransactions; i++) {
const txn = new TransactionBlock();
// Add the move call or transaction logic
await client.submitTransaction(txn);
}
const endTime = Date.now();
console.log(`Processed ${numTransactions} transactions in ${endTime - startTime}ms`);
}
benchmarkTransactions(1000); // Benchmark 1000 transactions
Tập lệnh này sẽ giúp bạn theo dõi có bao nhiêu giao dịch có thể được xử lý trong một khung thời gian nhất định và tính toánTPS.
3.** Sử dụng công cụ kiểm tra căng thứng**
Để thử nghiệm rộng rãi hơn và mô phỏngtải cao, bạn có thể sử dụng các công cụ kiểm tra căng thẳng để đẩy khối lượng giao dịch lớn vào Testnet:
a)Pháo phònghoặc** JMeter**
- Đây là những công cụ kiểm tra tải (load testing) có thể được cấu hình để gửi một khối lượng lớn các giao dịch (hoặc yêu cầu) tới Testnet của Sui.
- Ví dụ: vớiArtillery, bạn có thể tạo các kịch bản bắt chước hành vi của người dùng trong thế giới thực và gửi một lượng lớnyêu cầu APIđến điểm cuối Sui RPC của bạn để đo lường thời gian phản hồi vàthông lượng.
Ví dụ vớiPháo động:
config:
target: 'https://testnet.sui.io/rpc'
phases:
- duration: 60
arrivalRate: 100 # 100 requests per second
scenarios:
- flow:
- post:
url: "/submit_transaction"
json:
transaction: "your_transaction_data_here"
Thiết lập này sẽ mô phỏng 100 yêu cầu mỗi giây tớiSui TestNettrong 60 giây và đo lườngTPSvàtrễ.
b)** Châu chân**
Locust là một công cụ kiểm tra tải khác**có khả năng cấu hình cao. Bạn có thể tạo các kịch bản kiểm tra tải bằng cách xác định hành vi của người dùng mô phỏng, chỉ định tỷ lệ yêu cầu và đo thông lượng.
Ví dụ vớiLocust:
from locust import HttpUser, task, between
class SuiTestUser(HttpUser):
wait_time = between(1, 2)
@task
def send_transaction(self):
self.client.post("/submit_transaction", json={"transaction": "your_transaction_data_here"})
Điều này có thể mô phỏng một số lượng lớn người dùng đồng thời và giúp bạn đo lường hiệu suất dưới tải.
4.** Giám sát hiệu suất nút và sử dụng tài lực**
*** CPU, Bộ nhớ, Đĩa**: Đo lượng CPU, bộ nhớ và đĩa đang được sử dụng trên các nút trong quá trình tải giao dịch nặng. *** Độ trễ mạng**: Giám sát độ trễ mạng, đặc biệt là giữa các nút xác thịvàđiểm cuối RPC**, vì độ trễ cao có thể ảnh hưởng đến thông lượng. *Chỉ số tích hợp của Sui: Theo dõicác chỉ số tích hợp của Suinhưsố lượng giao dịch thành công,giao dịch thất bảovàsử dụng xăngbằngprometheushoặc các công cụ giám sát tương tự.
5.** Điểm chuẩn với nhiều cấp phí**
Sui hỗ trợnhiều cấp phí. Điều quan trọng là phải đánh giá các giao dịch trên các mức phí khác nhau để xem cấu trúc phí ảnh hưởng đến thông lượng như thế nào.
- Kiểm tragiao dịch trên các mức phí thấp, trung bình và caođể xem liệu phí gas có ảnh hưởng đến tốc độ xử lý giao dịch hay không.
- Thử nghiệm với các** ngân sách khí khác**khác nhau để tối ưu hóa hiệu suất trong khi vẫn giữ chi phí gas hợp lý.
6.** Kiểm tra độ trễ và thời gian chối**
Một số liệu khác cần đo lường làđộ trễ vàvàthời gianđối với các giao dịch. Thông lượng cao không nhất thiết có nghĩa là độ trễ thấp, vì vậy hãy theo dõi:
*Thời gian kết thúc: Mất bao lâu để một giao dịch được xác nhận đầy đủ và thêm vào sổ cái? *** Tính nhất quán thời gian khối: Sản xuất khối có nhất quán hay sự chậm trễ xảy ra khi tải cao?
7.** Sử dụng Sui Explorer để giám sát**
*** Sui Explorervà các trình khám phá blockchain kháccó thể giúp bạn xem thông lượng vềgiao dịch trên mỗi blockvà cung cấp thông tin chi tiết về thời gian xác nhận giao dịch.
8.** Phân tích kết quả và so sánh điểm chỉ**
Sau khi tiến hành các bài kiểm tra:
Phân tích thông lượng (TPS): So sánh cách Sui hoạt động dưới các tải khác nhau. Tìm kiếm các mô hình hoặc tắc nghẽn nơi thông lượng giảm đáng kể. Đo lường độ trễ thời: Xem mất bao lâu để các giao dịch được xử lý và xác nhận. *** Tác động Mạng/Nút: Đảm bảo rằng hiệu suất không bị cản trở bởi tắc nghẽn mạng hoặc các vấn đề về hiệu suất nút.
Tóm tắt phương pháp luận:
1.** Sử dụng Sui CLIđể mô phỏng các giao dịch và thu thập ước tính khí đốt. 2. Kiểm tra căng thứcvới các công cụ nhưPháo đội**,JMeterhoặcLocustđể đo TPS và độ trễ. 3.** Giám sát việc sử dụng tài nguyên trên các nút trong quá trình thử nghiệm (CPU, bộ nhớ, đĩa, mạng). 4.** Thử nghiệm trên nhiều cấp phíđể hiểu cấu trúc khí ảnh hưởng đến thông lượng như thế nào. 5. Sử dụng Sui Explorervà các công cụ giám sát khác để thu thập dữ liệu thời gian thực về thông lượng và hiệu suất. 6. So sánh các ngân sách khí khác nhau**để tối ưu hóa tốc độ và chi phí.
Bằng cách kết hợp các công cụ và phương pháp này, bạn có thể hiểu rõ vềThông lượng giao dịch của SuitrênTestnetvà đánh giá hiệu suất của nó dưới các tải và cấu hình khác nhau.
Sử dụngSui Benchmark Tools(sui-benchmark
) hoặctập lệnh tùy chỉnhđể kiểm tra căng thẳng TPS.
####1. Kiểm tra nhanh (CLI)
# Install sui-benchmark
cargo install --git https://github.com/MystenLabs/sui sui-benchmark
# Run load test (adjust --tx-count)
sui-benchmark --testbed testnet --workload transfer-object --tx-count 1000
####2. Tập lệnh TS tùy chỉnh
import { SuiClient } from '@mysten/sui.js/client';
const client = new SuiClient({ url: 'https://fullnode.testnet.sui.io' });
// Send parallel TXs
const txs = Array(100).fill(0).map(() => client.transferObject(...));
await Promise.all(txs); // Measure time vs success rate
###Các chỉ số chính -TPS: Giao dịch mỗi giây (đếm TX đã cam kết). -Độ trễ thời: Thời gian đến cuối cùng. -** Tỷ lệ lỗi**: TX thất bại.
Để đánh giá thông số giao dịch của Sui**trên Testnet và đánh giá các tuyên bố về hiệu suất của nó, bạn cần thiết kế cẩn thận phương pháp thử nghiệm của mình và sử dụng các công cụ phù hợp để mô phỏng tải giao dịch thực tế. Dưới đây là một phương pháp luận chi tiết và các công cụ được đề xuất để đánh giá hiệu suất của Sui:
1.** Xác định các mục tiêu điểm chuẩn
Thông lượng giao dịch: Đo lường số lượng giao dịch mỗi giây (TPS) mà Sui có thể xử lý trong các điều kiện khác nhau. *** Độ trễ thời*: Đo lường thời gian cần thiết để giao dịch được xử lý và xác nhận. *Khả năng mở rộng: Kiểm tra hiệu suất của Sui có quy mô như thế nào khi số lượng nút, trình xác thực và khối lượng giao dịch tăng lên.
2.** Công cụ để sử dụng**
Dưới đây là một số công cụ và phương pháp để đánh giá thông lượng giao dịch:
####Khách hàng Sui & RPC
*Sui CLI: Sử dụngSui CLIchính thức**để gửi giao dịch, trạng thái khối truy vấn và đo lường hiệu suất giao dịch.
sui client
có thể giúp đo lường thời gian cần thiết để thực hiện giao dịch, có thể giúp bạn đánh giá thông lượng giao dịch trong các điều kiện tải khác nhau.
####** Công cụ kiểm tra tải
Locust(hoặc các công cụ kiểm tra tải khác nhưArtillery,* Gatling**): Những công cụ này rất tuyệt vời để mô phỏng tải cao và tạo lưu lượng truy cập đến Testnet của bạn. Locust cho phép bạn xác định các kịch bản giao dịch tùy chỉnh và mô phỏng nhiều người dùng gửi giao dịch đồng thời.
- Bạn có thể viết tập lệnhLocustkết nối với điểm cuối Sui Testnet RPC và gửi các giao dịch (ví dụ: tạo hoặc chuyển các đối tượng) trong khi đo thời gian cần thiết để xử lý chúng.
Ví dụ tập lệnh Locust để điểm chuẩn:
from locust import HttpUser, task, between
class SuiBenchmark(HttpUser):
wait_time = between(1, 3) # Simulate user wait time between actions
@task
def send_transaction(self):
response = self.client.post("/sui/transaction", json={
# Your transaction payload here
})
assert response.status_code == 200
####** Tải giao dịch tùy chỉnh**
-
Tạo một tập lệnh tùy chỉnh để gửi hàng loạt các giao dịch Suithông qua API RPC. Đây có thể là tập lệnh Pythonhoặc Node.js**cơ bản tương tác với Sui Testnet và đo lường:
-
Thời gian cần thiết để gửi một lô giao dịch.
-
Độ trễ trung bình và thông lượng như một hàm của tải.
Ví dụ sử dụngPythonvà thư việnrequests:
import time
import requests
def send_transaction():
url = "https://rpc.sui.io"
headers = {'Content-Type': 'application/json'}
data = {
"method": "sui_executeTransaction",
"params": [transaction_data], # Your transaction data here
}
response = requests.post(url, json=data, headers=headers)
return response.status_code
def benchmark_transactions(n):
start_time = time.time()
for _ in range(n):
send_transaction()
end_time = time.time()
print(f"Processed {n} transactions in {end_time - start_time} seconds")
benchmark_transactions(1000) # Benchmark 1000 transactions
####Các công cụ điểm chuẩn cụ thể cho Sui
*Sui Explorer: Bạn cũng có thể sử dụngSui Explorerđể theo dõi thủ công các giao dịch, kiểm tra độ cao khối và theo dõi tốc độ giao dịch trong thời gian điểm chuẩn của bạn. *Chỉ số Sui (Sui Metrics): Sui có thể hiển thị một số điểm cuối chỉ trị**để theo dõi hiệu suất của trình xác thực và tình trạng hệ thống. Bạn có thể sử dụng chúng để đo thông lượng hệ thống thực tế từ quan điểm của mạng (ví dụ: TPS trung bình trong một khoảng thời gian).
####Dịch vụ điểm chuẩn bên ngoài
- Nếu bạn cần điểm chuẩn với các blockchain khác hoặc thậm chí so sánh Sui với các mạng khác, các dịch vụ nhưVRFcủa Chainlink**(cho tính ngẫu nhiên) hoặcLighthousecó thể cung cấp điểm chuẩn chuỗi chênh lệch.
- Bạn có thể sử dụngDeFillamađể phân tích so sánh giữa Sui và các dự án blockchain khác nếu họ xuất bản dữ liệu hiệu suất.
3.** Phương pháp đánh giá điểm chỉnh**
####Thông lượng giao dịch đơn
- Kiểm tra thời gian cần thiết cho một giao dịch duy nhất**để đi qua toàn bộ mạng và được xác nhận. Đo lường độ trễ và so sánh nó giữa các loại giao dịch khác nhau (ví dụ: tạo đối tượng so với chuyển đối tượng).
####Thông lượng hàng loạt (Nhiều giao dịch)
- Để kiểm tra căng thẳng mạng, hãy gửi một loạt giao dịch**liên tiếp nhanh chóng và theo dõi thông lượng (TPS). Điều này sẽ cung cấp cho bạn ý tưởng về cách Sui xử lý các hoạt động khối lượng lớn.
####Kiểm tra đồng thời và tải động
- Kiểm tra mức độ hoạt động của Sui dưới cáctải chếkhác nhau bằng cách mô phỏng nhiều người dùng hoặc bot tương tác với mạng. Dần dần tăng tải và đo lường:
*TPSkhi tải tăng. *** Độ trễ thời**cho các giao dịch cá nhân đang tải.
####** Mô phỏng các giao dịch trong thế giới thực
- Điểm chuẩn với** giao dịch thực tế**như tạo NFT, chuyển tiền và thực hiện logic hợp đồng thông minh. Điều này phản ánh hiệu suất thực sự của mạng trong các điều kiện đa dạng.
####Kiểm tra căng thức
- Kiểm tra các điều kiện khắc nghiệt (ví dụ: gửi hàng nghìn giao dịch trong một thời gian ngắn) để xem Sui mở rộng quy mô và xác định bất kỳ tắc nghẽn nào.
4.** Các số liệu chính cần đo lượng**
Giao dịch mỗi giây (TPS): Số lượng giao dịch thành công mà hệ thống xử lý mỗi giây. *** Độ trễ thời*: Thời gian cần thiết để xác nhận giao dịch sau khi gửi. Đo cả độ trễ trung bình và đỉnh. *** Sử dụng khí**: Theo dõi lượng gas được sử dụng cho mỗi giao dịch để hiểu chi phí thực hiện các loại giao dịch khác nhau là bao nhiêu. *** Thời gian khối lượng**: Đo thời gian cần thiết để các khối được tạo ra và các giao dịch được đưa vào khối.
5.** Phân tích và giải thích kết quả**
Sau khi chạy các bài kiểm tra của bạn:
Biểu đồ TPS so với Load: Điều này giúp hình dung cách Sui hoạt động khi tải giao dịch ngày càng tăng. *** Độ trễ thời*: Tìm kiếm sự tăng đột biến về độ trễ khi hệ thống bị căng thẳng. Sự gia tăng đột ngột độ trễ có thể cho thấy sự tắc nghẽn trong quá trình xử lý. *Hành vi mở rộng: Đánh giá xem thông lượng có cải thiện hay không khi có nhiều tài nguyên hơn (nối/trình xác thực) được thêm vào mạng.
6.** Các cân nhắc khác**
*** Độ trễ mạng**: Đảm bảo bạn đang thử nghiệm từ một máy chủ gần với Sui Testnet về mặt địa lý để tránh độ trễ mạng bên ngoài. Trình xác thị: Xem xét có bao nhiêu* trình xác thị**đang hoạt động đang tham gia thử nghiệm của bạn để đánh giá mức độ mở rộng mạng với các nút ngày càng tăng.
7.** Những cạm bẫy phổ biến cần tránh
*Quá tải RPC: Hãy chú ý đến việc giới hạn tốc độtrên RPC Testnet. Tránh gửi quá nhiều yêu cầu quá nhanh, vì điều này có thể ảnh hưởng một cách giả tạo đến kết quả của bạn. *** Testnet không ổn định: Hãy nhớ rằng Testnet không phải lúc nào cũng ổn định như Mainnet, vì vậy bất kỳ kết quả kiểm tra nào cũng có thể bị ảnh hưởng bởi các điều kiện mạng tạm thời.
Kết luận
Để đánh giá hiệu quả về thông lượng giao dịch của Sui**, bạn cần mô phỏng tải thực tế bằng cách sử dụngphân lô giao dịch,công cụ kiểm tra tải vàAPI Sui RPC**. Đo lường các chỉ số chính nhưTPS,** độ trễ vàvàmức sử dụng khívà đảm bảo kiểm tra dướitải đồng thời vàđiều kiện căng thức. Kết quả sẽ cung cấp cho bạn thông tin chi tiết về khả năng mở rộng, độ trễ của Sui và cách nó hoạt động trong các tình huống khác nhau, cho phép bạn đánh giá khả năng thực sự của nó.
Để đánh giá TPS của Sui (giao dịch mỗi giây):
sui-benchmark
Sử dụng Công cụ đo điểm chuẩn của Sui- để kiểm tra tải có kiểm soát. 2.Triển khai khối lượng công việc tùy chỉnh- Mô phỏng các giao dịch trong thế giới thực (chuyển khoản, hợp đồng thông minh). 3.** Giám sát bằng số lượng**- Theo dõi TPS, độ trễ và tỷ lệ thành công thông qua Prometheus/Grafana. 4.Testnet vs Local- So sánh Testnet công khai với mạng cục bộ riêng cho cơ sở. 5.** Kiểm tra tải bộ xác thị**- TPS cao phụ thuộc vào hiệu suất của trình xác thực.
sui-tps
Mẹo: Xem lại tài liệu của Sui để biết các công cụ mới nhất như.
Sử dụng sui-benchmark
công cụ của Sui với khối lượng công việc tùy chỉnh trên Testnet để đo TPS chính xác. Tập trung vào các giao dịch song song và điều chỉnh tỷ lệ gửi để tìm điểm bão hòa.
###Cách tốt nhất để đánh giá thông lượng giao dịch của Sui (Testnet/Mainnet)
####1. Công cụ đo điểm chỉnh -Tập lệnh Sui CLI +(Cơ bản)
# Generate 1000 simple transfer TXs
for i in {1..1000}; do
sui client transfer-sui --to 0xRECEIVER --amount 1 --gas-budget 5000000 &
done
-** Trình kiểm tra tải TypeScript**(Nâng cao)
import { SuiClient, TransactionBlock } from '@mysten/sui.js';
const client = new SuiClient({ url: 'https://fullnode.testnet.sui.io' });
const SENDER = '0xYOUR_WALLET';
const RECEIVER = '0xTARGET';
async function sendBatch(txCount: number) {
const startTime = Date.now();
const promises = Array(txCount).fill(0).map(() => {
const tx = new TransactionBlock();
tx.transferObjects([tx.gas], RECEIVER);
return client.signAndExecuteTransactionBlock({
transactionBlock: tx,
signer: SENDER_KEY
});
});
await Promise.all(promises);
const tps = txCount / ((Date.now() - startTime) / 1000);
console.log(`TPS: ${tps}`);
}
-Bộ điểm chuẩn Sui (SBK) (Chính thức)
git clone https://github.com/MystenLabs/sui-benchmark
cd sui-benchmark
cargo run -- --test-tps --tx-count 10000 --num-workers 16
####2. Các số liệu chính cần theo dõi
| Số liệu | Cách đo lường | Mục tiêu (Testnet) |
| ----------------------| ------------------|
|TPS| (Successful TXs) / (Total Time)
| 1K—5K (phụ thuộc vào khí) |
|** Độ trễ** | Finality Time (P50/P99)
| < 1s (không có đối tượng được chia sẻ) |
|** Hiệu quả khí**| | Gas Used / TX
~ 50K—500K mỗi TX |
-
Sử dụng công cụ sui-benchmark, được bao gồm trong repo Sui GitHub. Nó cho phép bạn mô phỏng hàng nghìn giao dịch mỗi giây bằng cách sử dụng nhiều công nhân.
-
Sao chép repo và chạy cargo run --release --bin sui-benchmark -- --help để khám phá các tùy chọn điểm chuẩn như tốc độ TPS, đối tượng mục tiêu và số luồng.
-
Tạo cụm cục bộ Sui của riêng bạn (sui-test-validator) để kiểm tra có kiểm soát hoặc điểm chuẩn trên Testnet, lưu ý rằng các mạng công cộng có tải thay đổi.
-
Chọn loại giao dịch để kiểm tra: transfer_object, coin_split hoặc các hàm Move module tùy chỉnh. Mỗi loại có cấu hình khí khác nhau và độ phức tạp xử lý đối tượng.
-
Tạo một loạt các đối tượng lớn (hoặc các đối tượng được chia sẻ) và tài khoản thử nghiệm tiền trước để loại bỏ tắc nghẽn khỏi tính khả dụng của đồng tiền.
-
Sử dụng các cờ --num-worker, --num-thread và --target-tps để mở rộng quy mô thử nghiệm của bạn trong khi theo dõi số liệu thống kê về độ trễ và thông lượng.
-
Cho phép thu thập số liệu thông qua Prometheus và Grafana để quan sát độ trễ, tỷ lệ thành công và mức sử dụng gas theo thời gian.
-
Chạy thử nghiệm trong các điều kiện mạng và nút khác nhau để hiểu trần - localnet sẽ hiển thị TPS cao hơn Testnet do độ trễ của trình xác thực.
-
Để so sánh, hãy đánh giá các giao dịch đơn giản so với giao dịch phức tạp (ví dụ: chuyển khoản cơ bản so với các cuộc gọi đột biến đối tượng chia sẻ) để xem loại giao dịch ảnh hưởng như thế nào đến thông lượng.
-
Ghi lại mức tiêu thụ khí, tỷ lệ lỗi và TPS đã được xác nhận (so với TPS đã gửi) để tạo ra hồ sơ hiệu suất toàn diện.
Để đánh giá thông lượng giao dịch của Sui trên Testnet, hãy bắt đầu bằng cách thiết lập trình xác thực cục bộ hoặc sử dụng Testnet chính thức với môi trường giao dịch được kiểm soát. Sử dụng công cụ sui-benchmark từ repo Sui GitHub, được thiết kế để mô phỏng các giao dịch khối lượng lớn với các tham số có thể định cấu hình. Bạn cũng có thể viết kịch bản các giao dịch bằng cách sử dụng TypeScript hoặc Rust SDK để gửi các lô giao dịch song song và đo lường hiệu suất đầu cuối. Theo dõi các số liệu như TPS (giao dịch mỗi giây), độ trễ và tỷ lệ thành công bằng cách sử dụng bảng điều khiển Prometheus và Grafana nếu bạn đang chạy nút của riêng mình. Để kiểm soát chi tiết hơn, hãy mô phỏng khối lượng công việc thực tế như đúc NFT, chuyển tài sản hoặc các cuộc gọi dành riêng cho DAP.
Đảm bảo bạn cô lập các biến bằng cách tắt các quy trình ghi nhật ký, đồng bộ hóa và nền không cần thiết trong quá trình điểm chuẩn. Sử dụng các cờ --num-worker và --num-actions trong CLI chuẩn để kiểm tra các kịch bản tải khác nhau. Bạn cũng nên so sánh thông lượng với các đối tượng được chia sẻ so với các giao dịch đối tượng sở hữu, vì việc thực thi đối tượng chia sẻ có thể phức tạp hơn. Nắm bắt nhật ký và tỷ lệ lỗi để phát hiện tắc nghẽn, đặc biệt là xung quanh việc sử dụng gas và độ trễ đồng thuận. Lặp lại thử nghiệm trong các điều kiện mạng khác nhau để đánh giá sự ổn định và nhất quán.
Để đánh giá thông lượng của Sui trên Testnet:
Công cụ: Sui Benchmarker: Công cụ chính thức trong repo Sui GitHub (sui-benchmark).
Tập lệnh tùy chỉnh: Sử dụng sui-sdk hoặc CLI để gửi tx theo lô.
Máy kiểm tra tải của bên thứ ba: Các công cụ như Chainhammer (nếu thích nghi với Sui).
Phương pháp: Sử dụng nhiều tài khoản và gửi giao dịch song song.
Theo dõi TPS (tx/giây) và độ trễ.
Các loại tx khác nhau (ví dụ: chuyển tiền xu so với cuộc gọi Move).
Chạy thử nghiệm vào các thời điểm khác nhau để tránh điều tiết RPC.
Sử dụng fullnode cục bộ hoặc RPC chuyên dụng để có kết quả chính xác, không thể tranh cãi.
You should begin by setting up a Testnet environment using sui start --testnet
or switch your CLI to Testnet to ensure you’re testing in the correct network context. Once ready, use a stress-testing methodology by generating and sending many independent transactions in parallel, especially those that involve owned object operations—this leverages Sui’s parallel execution model and avoids shared-object contention bottlenecks. You can employ the Sui CLI with sui client batch
to submit a file of preconstructed transactions at high concurrency, or write a custom script using the JavaScript SDK to fire many signAndExecuteTransactionBlock
calls concurrently. Always monitor throughput metrics like transactions per second (TPS), latency, and conflict rates using CLI feedback or logs—you can script repeated dry-runs to establish baseline costs before actual deployment. To get realistic performance, ensure your workload avoids shared-object hotspots, and measure under high-load scenarios where parallelism shines. After each test, analyze metrics, check for ConflictTransaction
errors, and reflect on bottlenecks—then adjust your object and call patterns and test again. Building this in iterations gives you a step-by-step understanding of throughput ceilings under realistic conditions. Read more here: https://docs.sui.io/build/parallel-execution
Bạn có biết câu trả lời không?
Hãy đăng nhập và chia sẻ nó.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Kiếm phần của bạn từ 1000 Sui
Tích lũy điểm danh tiếng và nhận phần thưởng khi giúp cộng đồng Sui phát triển.
- Cách tối đa hóa lợi nhuận nắm giữ SUI: Sui Staking vs Liquid Staking615
- Tại sao BCS yêu cầu thứ tự trường chính xác để khử chuỗi khi cấu trúc Move có các trường được đặt tên?65
- Nhiều lỗi xác minh nguồn” trong các ấn phẩm về mô-đun Sui Move - Giải quyết lỗi tự động55
- Lỗi Sui Move - Không thể xử lý giao dịch Không tìm thấy đồng xu gas hợp lệ cho giao dịch419
- Giao dịch Sui thất bại: Đối tượng được dành riêng cho giao dịch khác410