Vì cần test thử xem insert speed của Database Mysql là chịu được mức bao nhiêu  cần cho việc insert data với rate cao.Server cài Mysql-5.5.11.1: down trên trang mysql.com

MySQL-server-5.5.11-1.rhel5
MySQL-shared-5.5.11-1.rhel5
MySQL-devel-5.5.11-1.rhel5
MySQL-client-5.5.11-1.rhel5
MySQL-embedded-5.5.11-1.rhel5

1.DB server và Client cấu hình tương tự nhau: chỉ mượn lab test toàn server thanh lý.
IBM Bladecenter HS20 
CPU Intel(R) Xeon(TM) CPU 3.20GHz 
RAM 4GB 
HDD SCSI 36GB 

2.Để gởi data tới server mình viết chương trình insert vào mysql sử dụng multithread và dùng 2 driver:
+ lib chuẩn của mysql: mysql-connector-java-5.0.8-bin.jar
+ lib của HSclient : hs4j-0.1.jar

3.Cấu trúc của table insert data:

log_2011

Field Type Null Default Comments
pid varchar(64) No
datetime varchar(50) Yes NULL
ID varchar(50) No
value char(10) Yes NULL
Result varchar(250) Yes NULL
Name char(10) Yes NULL
roleId char(10) Yes NULL
Time varchar(50) Yes NULL
duration float Yes NULL
 4.Kết quả test: cả 2 client đều tạo 12 thread và gởi liên tục tới server
a.Dùng mysql-connector-java-5.0.8-bin.jar
Server load:
Status  server  khi dung jdbc-mysql 
Rate insert:cao nhất là 12922 query/s
Rate insert  jdbc-mysql 
b.Dùng lib HSclient:
Server load:
Statu server voi lib hs4j 
Rate insert: 13079 query/s
Rate insert lib hs4j 

Cả hai trường hợp ta nhận thấy:

  • Lib chuẩn của mysql: thì CPU khá cao > 170% chỉ để insert 12000 query/s
  • Lib của hs4j: với tốc độ lớn hơn 1 chút là 13000 query/s và CPU load chỉ tầm 60-70%.Vậy hệ

thống vẫn có thể handle thêm request

  • Quyết định thêm server client vào để load test xem tốc độ như thế nào?Kết quả là 

26000 query/s với 4 client gởi data liên tục.