import sys import random import MySQLdb from time import time from threading import Thread from random import Random #benchmark parameter THREADS = 64 DURATION = 600 #database parameter PORT = 9306 def connect(): global PORT conn = MySQLdb.connect (host = "localhost", user = "root", passwd = "", db = "test", port= PORT) return conn g_reads = 0 rand = Random(1234) class client(Thread): def __init__ (self): Thread.__init__(self) def run(self): global g_reads conn = connect() cursor = conn.cursor() cursor.execute (""" set autocommit=1 """) while (time() < endtime): N = rand.randint(1,43) cursor.execute (""" SELECT name FROM phptest WHERE country_id = %s limit 5 """,N) g_reads = g_reads + 1 conn.commit() cursor.close() conn.close() #prepare(RECORDS) clientlist = [] duration = DURATION endtime = time() + duration for i in range(THREADS): current = client() clientlist.append(current); current.start() for c in clientlist: c.join() print 'Read operations=%d' % g_reads print 'tps =%d' % (g_transactions/duration)