自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Google Cloud SQL性能測試

數(shù)據(jù)庫 其他數(shù)據(jù)庫
谷歌發(fā)布了Google Cloud SQL,今天我們就來測試一下這個云數(shù)據(jù)庫的性能,對大家有所提示。
  1. CREATE DATABASE test;  
  2. USE test;  
  3. CREATE TABLE test (id INT NOT NULL AUTO_INCREMENT,   
  4. value DOUBLEPRIMARY KEY(id)); 

然后在綁定的一個HR datastore應(yīng)用上測試:

  1. from random import randomfrom time import timefrom google.appengine.api import rdbmsrand = [(random(),)   
  2. for i in xrange(500)]
  3. t = time()
  4. conn = rdbms.connect(instance='keakon:test'database='test')prin
  5. time()
  6. - tcursor = conn.cursor()
  7. t = time()
  8. cursor.executemany('INSERT INTO test (value) VALUES (%s)', rand)  
  9. print time() - t
  10. t = time()
  11. cursor.execute('SELECT count(*) FROM test')print time() - t
  12. t = time()
  13. cursor.execute('SELECT id FROM test')print time() - t
  14. t = time()
  15. cursor.execute('SELECT * 
  16. FROM test')print time()- t
  17. t = time()
  18. conn.rollback()prin
  19. time() - t
  20. t = time()
  21. cursor.close()conn.close()prin
  22. time() - t 

結(jié)果:
0.00699996948242
3.8259999752
0.00500011444092
0.235999822617
0.205000162125
0.0639998912811
0.00300002098083可見連接和關(guān)閉數(shù)據(jù)庫還是很快的,但是插入和查詢性能并不算好。

接著試試提交:

  1. t = time()
  2. cursor.executemany('INSERT INTO test (value)   
  3. VALUES (%s)', rand)conn.commit()print time() - t
  4. t = time()
  5. cursor.execute('DELETE FROM test')conn.commit()print time() - t 

結(jié)果:
3.3180000782
0.132999897003可能是測試的波動,插入變快了。比較讓我奇怪的是刪除,居然比查詢還快。

再試了下清空表,即改成cursor.execute('TRUNCATE test')。結(jié)果:
2.96399998665
0.128000020981這次插入更快了,不解…

值得一提的是,我在刪除的時候?qū)戝e了SQL語句,結(jié)果報(bào)錯了。然后再次刪除就一直被鎖,但是查詢和插入都正常,估計(jì)是那個事務(wù)一直沒結(jié)束。
最后我試了下TRUNCATE,花了22秒終于成功了。之后再測試時,即使出錯也沒遇到被鎖的情況了,非常奇怪…

然后對比測試HR datastore,使用同一個應(yīng)用:
 

  1. from random import random
  2. from time import time
  3. from google.appengine.ext import db
  4. class Test(db.Model):
  5. value = db.FloatProperty()
  6. entites = [Test(value=random()) for i in xrange(500)]
  7. t = time()
  8. db.put(entites)prin
  9. time() - t
  10. t = time()Test.all().count(None)print time() - t
  11. t = time()
  12. keys = Test.all(keys_only=True).fetch(500)printime() - t
  13. t = time()
  14. Test.all().fetch(500)print time() - t
  15. t = time()
  16. db.delete(keys)print time() - t 

結(jié)果:
3.31100010872
0.0799999237061
0.208999872208
2.34000015259
0.861999988556其中count和查詢慢了一個數(shù)量級,刪除慢約6倍,插入和查詢key則差不多。

接著又在一個MS datastore的應(yīng)用上測試了下,結(jié)果是:
1.04965305328
0.109894037247
0.0680358409882
0.660396099091
0.251960992813插入快2倍,查詢慢一個數(shù)量級,其他差不多。

對大多數(shù)應(yīng)用來說,查詢性能是最重要的,這一個數(shù)量級的提升也是很有益處的,更何況還少了很多限制。所以如果不需要ORM的話,用Google Cloud SQL取代Datastore是個不錯的選擇。

【編輯推薦】

  1. Oracle發(fā)布NoSQL數(shù)據(jù)庫
  2. 微軟進(jìn)軍NoSQL 發(fā)布Trinity數(shù)據(jù)庫
  3. 微軟研究人員:NoSQL需要標(biāo)準(zhǔn)化
  4. MySQL中的NoSQL插件
  5. SQL與NoSQL——MySQL與NoSQL的融合
責(zé)任編輯:彭凡 來源: www.keakon.net
相關(guān)推薦

2011-10-24 17:12:01

Cloud SQL

2011-10-08 13:22:43

Google數(shù)據(jù)庫云計(jì)算

2011-10-27 11:32:36

Google云計(jì)算SQL數(shù)據(jù)庫

2015-01-09 10:41:56

Cloud Trace性能檢測

2019-10-08 14:49:30

Google云市場Google Clou

2012-11-09 13:42:33

Google Clou

2012-11-23 10:00:55

SQL性能測試

2021-07-31 18:34:53

Google ClouSAP RISE

2021-06-15 14:40:23

Google ClouUbuntuGoogle

2022-07-29 09:54:42

數(shù)據(jù)庫分布式

2011-10-08 13:45:12

JavaScript

2017-12-05 15:39:43

云計(jì)算云實(shí)例定價

2009-09-08 09:45:23

App Engine性

2015-03-04 09:29:53

GoogleAndroid

2014-11-06 10:18:10

googleDocker

2023-07-07 17:13:14

生成式AIGoogle

2023-09-01 11:16:16

Google人工智能

2011-03-15 16:34:36

Iptables性能

2022-04-07 13:56:17

Azure谷歌云AWS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號