ผมใช้ Cloud VPS ของ DigitalOcean ครับ
มีวิธีให้ Wordpress ใช้ CPU น้อยกว่านี้มั้ยครับในช่วงที่คนเข้าใช้งานเยอะ ๆ
หรือบางครั้งแค่ไปจัดการบทความด้านในก็มีหลุด มีค้าง เพราะใช้ CPU หนัก
Top processes บางช่วง
mysqld 291.22%
php-fpm 56.53%
ข้อมูล Wordpress เบื้องต้น
DB ประมาณ 200 MB.
บทความมากกว่า 800 บทความ
รูปภาพมากกว่า 11,900 รูป
:wanwan017:
มีปลั๊กอินพวกเก็บสถิติ,post view อะไรพวกนี้หรือเปล่าครับ ถ้ามีแนะนำให้เลิกใช้ แล้วไปติด Google Analytics, histats แทนครับ
ถ้ายังไม่ได้ติดตั้ง cache ก็แนะนำ WP Super Cache ครับ
ตอนที่เกิด load หนัก ๆ ก็ต้องลองเข้าไปตรวจสอบดูครับว่า mysql query อะไรอยู่ หรือไม่ก็ต้องลองไล่ปิด plugin ดูนะครับว่าหายไหม
ขอดูปลักอินทั้งหมดครับ
อ้างถึงจาก: siamlivehost ใน 15 มิถุนายน 2017, 11:09:12
มีปลั๊กอินพวกเก็บสถิติ,post view อะไรพวกนี้หรือเปล่าครับ ถ้ามีแนะนำให้เลิกใช้ แล้วไปติด Google Analytics, histats แทนครับ
ถ้ายังไม่ได้ติดตั้ง cache ก็แนะนำ WP Super Cache ครับ
ตอนที่เกิด load หนัก ๆ ก็ต้องลองเข้าไปตรวจสอบดูครับว่า mysql query อะไรอยู่ หรือไม่ก็ต้องลองไล่ปิด plugin ดูนะครับว่าหายไหม
ทำตามนี้จบครับ ไม่ต้องถึง vpsหรอก แชร์โฮสท์ยังลื่นปรื้ดเลย ของผม 30-40kต่อวัน แชร์โฮสท์ยังวิ่งดีครับ
เก็บข้อมูลดีๆ :wanwan017:
แนะนำอีกอย่างครับ ใช้ php mod ธรรมดา ดีกว่า ผมว่า อึดกว่า และใช้ mysql 5.5 + Nginx
ผมเคยลองใช้ พวก mod php-fpm หรือ fast-cgi เว็บตายเร็วครับ คนใช้งานนิด หน่อย ก็ไปแล้ว ยิ่งถ้าสเปคต่ำ ๆ ไม่ต้องคุยเลย
แต่ผมก็ไม่แน่ใจนะ ว่าอาจจะเป็นที่เรา set ค่า ไม่ดีเอง หรือ เปล่านะ
แต่ให้ทางโฮสปรับ mod มาใช้ php ธรรมดา + nginx reverse proxy รับคนได้เยอะกว่าเดิมมาก หลายเท่า
ค่อย ๆ ลองปิดการใช้งานของ plugins ดูครับ
ติดตั้ง cache เพิ่ม ช่วย ได้อีกครับ
ต้องดูที่ plugins ที่เปิดใช้ด้วยครับ บางตัวมีการใช้พวก ajax เข้าหลังบ้าน หรืออัพเดทตลอดเวลาทุกครั้งที่มี pageview
ถ้าเป็นไปได้ลองติดตั้งพวก cache ขึ้นมาช่วยก่อนอันดับแรกครับ :P
ขอบคุณสำหรับคำแนะนำทุกท่านครับ
อ้างถึงจาก: tenzamak ใน 15 มิถุนายน 2017, 11:10:35
ขอดูปลักอินทั้งหมดครับ
ปลั๊กอินตามนี้ครับ
Akismet Anti-Spam
Bring Back the Get Shortlink Button
Contact Form 7
Google XML Sitemaps
Hide Comments
Page Links To
Quick Adsense
Quick Page/Post Redirect Plugin
SiteTree
Slider Revolution
SSL Insecure Content Fixer
W3 Total Cache
WP-PostViews
WPBakery Visual Composer
Yoast SEO
อ้างถึงจาก: smilemo ใน 15 มิถุนายน 2017, 12:23:21
แนะนำอีกอย่างครับ ใช้ php mod ธรรมดา ดีกว่า ผมว่า อึดกว่า และใช้ mysql 5.5 + Nginx
ผมเคยลองใช้ พวก mod php-fpm หรือ fast-cgi เว็บตายเร็วครับ คนใช้งานนิด หน่อย ก็ไปแล้ว ยิ่งถ้าสเปคต่ำ ๆ ไม่ต้องคุยเลย
แต่ผมก็ไม่แน่ใจนะ ว่าอาจจะเป็นที่เรา set ค่า ไม่ดีเอง หรือ เปล่านะ
แต่ให้ทางโฮสปรับ mod มาใช้ php ธรรมดา + nginx reverse proxy รับคนได้เยอะกว่าเดิมมาก หลายเท่า
ผมค่อนข้างมือใหม่สำหรับใช้งาน VPS ครับ ขอบคุณสำหรับข้อมูลครับ
ผมใช้ DigitalOcean+ServerPilot ในการติดตั้งจัดการต่างๆ ครับ
ขอบคุณความคิดเห็นทุกท่านครับ
:wanwan017:
WP-PostViews
ตัวทำงานหนักเลยครับ
ต้องดูที่ plugins ที่เปิดใช้ด้วยครับ
ทุกคนก็ได้แนะนำปัญหาที่ต้องแก้มาเกือบหมดแล้ว
ขอทักเรื่องนึง ที่ย้ายนี่ ดูผู้ให้บริการด้วยนะครับ ว่ามีการอัดลูกค้าในเครื่องเซิร์ฟเวอร์หนาแน่นเกินไปไหม อย่าลืมว่า VPS มีการ Shared CPU ด้วยนะครับ :P
เคยใช้ vps เจ้าหนึ่ง ใช้งานผ่าน vesta cpu 8 ram 16 ใช้งานแล้วค่อนข้างช้า แถม ต้องลง cache plugin ด้วย ใช้งาน 5 เดือน ย้าย vps ใหม่ อีก vps หนึ่ง cpu 8 ram 8 ไม่ต้องลง cache plugin ใช้งานสบายเลย อันนี้ไม่ใช้ vesta แต่ลง oneinstack แทน ใช้งานสบายเลย อันแรกกับอันสอง ไม่ได้ซื้อและติดตั้งเอง เลยสรุปว่าอันแรกน่าจะไม่ใช่ vps แท้ๆๆๆๆ (หรือเปล่า)
ผมว่าขนาดนี้ลอง dedicated SSD ดีไหมครับ ไม่ต้องแรงมาก
แต่จริงๆ มันอยู่ที่การจูนด้วย
ไม้เบื่อไม้เมาเลยครับ Wordpress เนี่ย CPU เต็มคือตัวร้ายกาจมาก Dedicated Server Ram 32 CPU 8 Cores ยังเป็นเลยครับ บางทีก็ไม่ใช่ Plugin เสียทีเดียวหรอกครับ อย่างในรายการที่โพสมาตัวที่น่าจะเป็นปัญหาที่สุดน่าจะเป็น WP-PostViews ครับ ลองปิดตัวนั้นออกก่อนว่าดีขึ้นไหม
php-fpm นี่ลองเข้าไปตั้งค่ามันหน่อยนะครับ ค่า PM มีความแตกต่างอยู่ระหว่าง Dynamic และ Ondemand เลือกปรับจูนให้ถูกต้องตามพฤติกรรมของผู้ใช้งานของเราครับ
ถ้าตั้ง dynamic ก็ต้องมีตัวแปรอื่นๆ เพิ่มขึ้นคือ pm.start_servers, pm.min_spare_servers และ pm.max_spare_servers แต่ข้อดีคือมันจะเปิดคอนเน็คชั่นไว้รอการเข้ามาเชื่อมต่อของ Clients โดยที่ไม่ต้องเกิดการโหลดใหม่ มองคือมันจะช่วยซัพพอร์ตการเข้าใช้งานเว็บให้ไวขึ้นได้ แต่ถ้ามันเปิดทิ้งไว้นานๆ ไม่ปิดโปรเซสเลย รีซอร์สเครื่องเราก็ตันครับ ดังนั้นหากใช้ dynamic ก็ต้องดู pm.process_idle_timeout ต่อดีๆ ด้วย
ถ้าตั้ง ondemand มันจะเปิดโปรเซสไว้เฉพาะเวลาที่จำเป็น (ตามทษฎี) โดยมันจะคำนวนเองว่าควรไม่ควรอย่างไร จากกรณีผม ลักษณะการเข้ามาใช้งานของผู้ใช้งานคือเข้ามาเป็นช่วง ตู้มใหญ่ๆ ต่อช่วง แบบนี้ ondemand ไม่เวิร์ค คนพุ่งเข้ามาที CPU พุ่ง 100% เต็มหลอดหมดทั้ง 8 คอร์เลยครับเพราะมันเปิดโปรเซสใหม่พร้อมกันหมดเลย
Resource ในเครื่องของเรามีผลมาก ในฝั่งของ php-fpm ก็จะเป็นค่า pm.max_children และ pm.max_requests ที่ต้องตั้งโดยคำนึงถึง resource ในเครื่องเราให้มากๆ ครับ
ส่วน Mysql ถ้าไปไหนไม่ถูก ให้ติดตั้ง Mysqltuner ครับ จากนั้นเรียกใช้ Script ขึ้นมาดูว่ามันแนะนำให้เราปรับจูนอะไรเพิ่มเติมบ้าง ลองดูว่าตอนนี้ใช้ ดาต้าเบสที่มีการอ่านเขียนเยอะก็ลองเปลี่ยนเป็น innodb ดูครับ น่าจะช่วยได้พอประมาณ
ทั้งนี้พูดไปโน่นนี่นั่น ผมก็ยังเจอปัญญหาอยู่เหมือนกัน T^T บางช่วงพีคๆ ก็แย่เหมือนกันครับ เข้าใจความปวดหัวเลย แต่เอาใจช่วยครับ จ้างใครมาก็ไม่มีใครรู้พฤติกรรมเว็บเราได้เท่าตัวเราเองแล้วล่ะครับ
ปล. ลอง htop ดูนะครับ เราจะเห็นว่า cpu เราเต็ม 100% จริงไหม และถ้าเต็มนี่เต็มไปกี่คอร์ หรือเต็มหมดหลอดเลย ส่วน mysql process ถ้าขึ้นมากกว่า 100% ใน top -c มันอาจไม่ได้หมายถึง CPU ใช้เกินจากที่ server เรารับไหวจริงๆ นะครับ มันแค่หมายถึงมันใช้เต็มไป core หนึ่งแล้ว เท่าที่ทราบ 100% ของมันคือเต็มหนึ่งคอร์ครับ 200% ก็คือ 2
ผมเเองไม่ได้เก่งอะไร ปัญหาตัวเองบางทีก็เอาตัวไม่รอด 555+ แต่แค่อยากแชร์ๆ ประสบการณ์กันน่ะครับผม