benchmark

 

ต้องการเปลี่ยนเครื่องเซิร์ฟเวอร์ที่ใช้รัน Drupal จึงทดลองทดสอบเปรียบเทียบ Web Server และโปรแกรมที่ใช้รัน php รุ่นต่าง ๆ ไว้ดังนี้

  1. apache2-mpm-prefork libapache2-mod-php5
  2. apache2-mpm-worker libapache2-mod-fcgid php5-cgi
  3. lighttpd php5-cgi
  4. nginx php5-cgi spawn-fcgi

สมบัติ

  • เครื่อง: cpu E5200 ram 2G
  • os: Debian Squeeze 2.6.32-5-xen-amd64
  • mysql-server: 5.1.49-3
  • apache2: 2.2.16-4
  • lighttpd: 1.4.28-1
  • nginx: 0.7.67-3
  • php-apc: 3.1.3p1-2
 

บันทึกผลของการเลือกใช้ SELECT แบบต่าง ๆ
เดเบียน Etch, Postgresql 8.1

มีตารางสองตาราง

  1. ตาราง ft_word เก็บคำศัพท์ประมาณ 20,000 เรคคอร์ด
    • wordid = ไอดีคำศัพท์
    • word = คำศัพท์
  2. ตาราง ft เก็บการกระจายศัพท์ มีประมาณ 6 แสนเรคคอร์ด
    • wordid = ไอดีคำศัพท์
    • mftid = ไอดีที่จะชี้ไปที่ตารางเก็บ
    • occur = จำนวนคำศัพท์ที่พบในตารางเก็บ
 

ลองทดสอบวัดประสิทธิภาพแบบคร่าว ๆ เพื่อหาวิธีการเขียนโค๊ด

เริ่มต้นด้วยการสร้างคลาสเพื่อจับเวลาก่อน

class TimeIt:
  import time
  def __init__(self):
    self.p_start=time.time()
  def use(self):
    t_now=time.time()
    t_use=t_now-self.p_start
    self.p_start=t_now
    return t_use

ตามด้วยการสั่งจากเชลล์ของไพธอน

import adodb
conn = adodb.NewADOConnection("postgres")
cur = conn.Connect(host, user, password, db)
sql = """CREATE TABLE test (wordid SERIAL, word VARCHAR(255), PRIMARY KEY (wordid))"""
cur = conn.Execute(sql)

แบบที่ ๑

def f1():
  ttt = TimeIt()
  for i in range(1000):
Subscribe to RSS - benchmark
 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.