วิธีแก้ apache บน web server จำลอง ทำงานช้าผิดปกติ

เคยมั้ยที่ใช้ AppServ หรือ XAMPP จำลองเป็น Web Server ไว้บนเครื่องแล้วรู้สึกว่ามันทำงานได้ช้าผิดปกติ เวลาที่เข้า localhost ปกติใช้เวลาแค่ 0.0001 วินาที มาเป็น 1.0 วินาที มันช้าขึ้นมาอีกอึดในหนึ่ง

แต่ก่อนผมใช้ AppServ ก็ไม่เป็นนะ ตั้งแต่เวอร์ชั่น 2.4.0, 2.5.x, 2.5.10 ไม่เคยมีปัญหาเลย ทำงานได้รวดเร็วกว่า host จริงด้วยซ้ำ จนมาวันนึงผมรู้สึกได้ว่า ทำไมมันช้าจัง เลยลองจับเวลาในการ process หน้าเว็บดู ปรากฏว่า มันต่างกันเป็น “วินาที” เหมือนมันประมาณผลไม่ทัน

ในตอนแรกลองแก้ปัญหาโดยลองดู httpd.exe ว่ามันทำงานปกติมั้ย process ก็ไม่สูง มันก็ทำงานปกติ ลองปิด process ตัวอื่น มันก็ยังเป็นเหมือนเดิม

สุดท้ายเลยลองติดตั้ง XAMPP 1.8.x ปรากฏว่า “ช้าเหมือนกัน” ก็เลยพอได้ข้อสรุปแล้วว่า มันคงไม่ได้เป็นที่ apache หรือ mysql แน่ๆ ทีนี้เลยลองเข้าไปแก้ hosts ของ windows ดู เพราะผมเคยไปแก้ไขไว้ไม่ให้โปรแกรมบางอย่างมัน update

ปรากฏว่า ทาง patch ที่ติดตั้งนั้น มันไป #comment หน้า บรรทัดที่บอกว่าว่า IP นี้ ชื่อ host อะไร ผมเลยลองเอา # ออก แล้วทดสอบดู ปรากฏว่า ใช่อย่างที่คิดจริงๆ ด้วย

# localhost name resolution is handled within DNS itself.
# 127.0.0.1       localhost

มันเสียเวลากับการไปวนหา DNS ที่อื่น แทนที่จะเห็นตัวมันเองก่อน ปัญหานี้เลยกลายเป็นเส้นผมบังภูเขา ไปโดยปริยาย

มาดูวิธีการเข้าไปแก้ไขไฟล์ hosts ของ windows ตามขั้นตอนต่อไปนี้ครับ

  1. เปิด Notepad หรือ TextEditor อื่น
  2. คลิกที่ File > Open
  3. แล้วเข้าไปที่ C:WindowsSystem32driversetc
  4. ดับเบิ้ลคลิกที่ HOSTS
  5. ทำการแก้ไข เมื่อเสร็จแล้วก็ Save

Tips: ใน windows 7 อาจจะแก้ไขด้วย notepad ไม่ได้ หรือมองเห็นไม่เป็นบรรทัด แนะนำให้ใช้ TextExitor อื่นๆ อาทิเช่น Editplus, notepad++ หรือ sublimetext ก็ได้ครับ