ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.com< กดยุบ (ห้องยกเลิกการใช้งาน)TWGมาแชร์ ไอเดีย เทคนิค ความรู้การสั่ง gen เว็บปั่นดีกว่า อิอิ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: มาแชร์ ไอเดีย เทคนิค ความรู้การสั่ง gen เว็บปั่นดีกว่า อิอิ  (อ่าน 4982 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
iamnewbies
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 28
ออฟไลน์ ออฟไลน์

กระทู้: 9,635



ดูรายละเอียด
« เมื่อ: 05 มกราคม 2007, 11:57:30 »

อันนี้หมายถึง การสั่งให้มัน gen ออกมานะครับ

ส่วนเรื่อง engine การ gen หรือ เทคนิคการปั่น น่าจะเป็นเรื่องความลับของแต่ละคน ว่าทำยังไง อิอิ
การหาข้อมูลเป้นเรื่องความลับแต่ละคน หรืออาจจะไม่ลับก็ได้


ผมกำลังปวดหัว กำลังลองหลายๆ แบบ อะ

มีเทคนิคสั่งปั่นยังไงดีอะ

สั่งยังไงไม่ให้เครื่อง overload หรือ มีปัญหาอะ

และก็สั่งไม่ให้ time out

หมายถึงการสั่งให้มันทำงาน อะ

มีไอเดีย อะรไใหม่ๆ บ้างปะ



อ้างถึง

ปัญหามีไว้แก้ผ้าครับ

มาช่วยพัฒนา

แก้ปัญหา time out

1. ใช้ cron job สั่งทำทีละนิดๆๆ

2. ตัวสั่ง gen ลองใช้ perl ดู เห็นเขาว่า อยู่ได้นานๆๆ
เขียนสคริป แยกการทำงานดีกว่า ตัว สั่ง gen อันหนึ่ง ตัว gen อันหนึ่ง
คือ ตัวที่ทำงาน จะได้ไม่ทำนาน ทำล้วจบ ทำแล้วจบ มีตัว สั่ง gen เป้นตัว order อีกที เขียนรวยระบบมันจะกินทรัพยากรมาก

3. refresh
ผมเคยเขียนสคริปทำแล้ว ใช้ได้ แต่ต้องเปิดเครื่องทิ้วไว้
คือ สั่ง refresh ไปเรื่อยๆ รีเฟรช ทีหนึ่งก็ gen 1 ไฟล์ มันก็ gen ไปเรื่อยๆ
เปิดไว้ 1 คืน มันก็ gen ได้กว่าหมื่นไฟล์เลย อะนะ

4. php แกะสคริปฝรั่งที่ทำนานๆ ได้

5. อื่นๆ

6. ยังนึกไม่ออก
บันทึกการเข้า

ุอิอิ  พลุบๆโพล่ๆ  เข้าๆออกๆ เสียวๆ
kingmaster
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 11
ออฟไลน์ ออฟไลน์

กระทู้: 2,183



ดูรายละเอียด
« ตอบ #1 เมื่อ: 05 มกราคม 2007, 12:41:28 »

อ้างจาก: "iamnewbies"
อันนี้หมายถึง การสั่งให้มัน gen ออกมานะครับ

ส่วนเรื่อง engine การ gen หรือ เทคนิคการปั่น น่าจะเป็นเรื่องความลับของแต่ละคน ว่าทำยังไง อิอิ
การหาข้อมูลเป้นเรื่องความลับแต่ละคน หรืออาจจะไม่ลับก็ได้


ผมกำลังปวดหัว กำลังลองหลายๆ แบบ อะ

มีเทคนิคสั่งปั่นยังไงดีอะ

สั่งยังไงไม่ให้เครื่อง overload หรือ มีปัญหาอะ

และก็สั่งไม่ให้ time out

หมายถึงการสั่งให้มันทำงาน อะ

มีไอเดีย อะรไใหม่ๆ บ้างปะ



อ้างถึง

ปัญหามีไว้แก้ผ้าครับ

มาช่วยพัฒนา

แก้ปัญหา time out

1. ใช้ cron job สั่งทำทีละนิดๆๆ

2. ตัวสั่ง gen ลองใช้ perl ดู เห็นเขาว่า อยู่ได้นานๆๆ
เขียนสคริป แยกการทำงานดีกว่า ตัว สั่ง gen อันหนึ่ง ตัว gen อันหนึ่ง
คือ ตัวที่ทำงาน จะได้ไม่ทำนาน ทำล้วจบ ทำแล้วจบ มีตัว สั่ง gen เป้นตัว order อีกที เขียนรวยระบบมันจะกินทรัพยากรมาก

3. refresh
ผมเคยเขียนสคริปทำแล้ว ใช้ได้ แต่ต้องเปิดเครื่องทิ้วไว้
คือ สั่ง refresh ไปเรื่อยๆ รีเฟรช ทีหนึ่งก็ gen 1 ไฟล์ มันก็ gen ไปเรื่อยๆ
เปิดไว้ 1 คืน มันก็ gen ได้กว่าหมื่นไฟล์เลย อะนะ

4. php แกะสคริปฝรั่งที่ทำนานๆ ได้

5. อื่นๆ

6. ยังนึกไม่ออก


ผมใช้โค๊ดบรรทัดเดียวคับ
set_time_limit(0);
อิอิ ที่เหลือคือนั่งรอไง
บันทึกการเข้า

Bug Fix AllinoneGenerator --> BugFix... | รถตู้เชียงใหม่
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 05 มกราคม 2007, 13:04:39 »

จะใช้ set_time_limit(0);
ระวังเรื่องข้อมูลตัวแปรทับซ้อนด้วยนะครับ

ต้อง unset ทุกรอบด้วย เดวเมมไม่ไหวก็ error ทีเมมแทน
ไปๆ มาๆ โฮสเห็นโดนระงับอีกด้วย
บันทึกการเข้า

iamnewbies
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 28
ออฟไลน์ ออฟไลน์

กระทู้: 9,635



ดูรายละเอียด
« ตอบ #3 เมื่อ: 05 มกราคม 2007, 13:22:02 »

เอาวิธีแบบไม่เสี่ยงสิ

แบบที่ไม่โดนโฮสระงับอะนะ
บันทึกการเข้า

ุอิอิ  พลุบๆโพล่ๆ  เข้าๆออกๆ เสียวๆ
totiz
ก๊วนเสียว
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 206



ดูรายละเอียด
« ตอบ #4 เมื่อ: 05 มกราคม 2007, 14:05:09 »

มันอยู่ที่สคริปอ่ะคับ  ว่ามันทำอะไรบ้าง  ที่ผมเคยโดนแบนมาแล้วจาก hostgator ก็มี
  1.  กิน CPU มากเกินไป (จะโดนแบนทั้ง folder ที่ไฟล์นั้นรัน)
  2.  เปิด mysql มากเกินไป (จะโดนแบบ user ของ mysql นั้นๆ)
  3.  เขียน query ไม่ดี (โดนแบบ database นั้นๆ)

ผมแก้แบบนี้คับ
  ข้อ 1 ต้องหาให้เจอคับ  ว่าโค้ดตรงไหนที่กิน CPU มาเกินไป  เช่นมีการวน loop ซ้ำๆ
        มากเกินไป  ถ้าขี้เกียจเขียนโค้ดใหม่  อาจแก้ง่ายๆโดยใส่ sleep(1) ไปในระหว่าง
        loop เพื่อลบการใช้ CPU แต่ถ้าวนเป็น 10000 รอบ แนะนำให้ใช้ประมาณว่า
        ทำสัก 100 หรือ 1000 รอบ sleep(1) แล้วแต่โค้ดคับ

  ข้อ 2 อันนี้แก้ไม่ยากคับ  ของผมเป็นสคริปดึง rss เนื่องจากบ้าง rss ใช้เวลาดึงนาน
        แล้วผมลืม mysql_close()  ก่อนที่จะดึง rss     แล้วผมเรียกสคริป
        นั้นหลายๆครั้งในเวลาเดี่ยวกัน  ทำให้ user นั้น เกิน limit ในการ connect
        วิธีแก้ก็ให้ mysql_close() ก่อนที่จะทำอะไรที่มันเสียเวลานานๆ  เสร็จแล้วค่อย
        open ใหม่

  ข้อ 3 อันนี้สำหรับคนที่เขียน sql เองนะคับ ถ้าเขียนผิดนิดเดี่ยว  อาจทำให้โดนแบนได้
        ง่ายๆ  แบบนี้วิธีแก้ที่ทางเดี่ยวคับ  คือต้องเขียน sql ใหม่  ให้ดีกว่าเดิม
บันทึกการเข้า
amaudy
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 9
ออฟไลน์ ออฟไลน์

กระทู้: 1,212



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 05 มกราคม 2007, 14:10:56 »

set_time_limit(0);
ไม่อยากให้ใช้เลยครับ

Cron job น่าจะเหมาะนะครับ ตั้งเป็นทุกๆนาทีก็ได้

หรือ

gen1 -> cron_job
gen2 -> cron_job
..
..
genn -> cron_job

คือโปรแกรมเดียว เปลี่ยนชื่อเป็นหลายๆไฟล์ แล้วใช้ครอนจอบอีกรอบนึง


กฏอย่างนึงของผมเวลาเขียน PHP คือ
ห้ามรันเกิน 30 วินาที
บันทึกการเข้า

POM
ก๊วนเสียว
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 295



ดูรายละเอียด
« ตอบ #6 เมื่อ: 06 มกราคม 2007, 11:10:30 »

อ้างจาก: "amaudy"
set_time_limit(0);
ไม่อยากให้ใช้เลยครับ

Cron job น่าจะเหมาะนะครับ ตั้งเป็นทุกๆนาทีก็ได้

หรือ

gen1 -> cron_job
gen2 -> cron_job
..
..
genn -> cron_job

คือโปรแกรมเดียว เปลี่ยนชื่อเป็นหลายๆไฟล์ แล้วใช้ครอนจอบอีกรอบนึง


กฏอย่างนึงของผมเวลาเขียน PHP คือ
ห้ามรันเกิน 30 วินาที


เสียตังเพิ่มป่าวครับ ใช้ cronjob หนะครับ
บันทึกการเข้า
pete
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 1,030



ดูรายละเอียด
« ตอบ #7 เมื่อ: 06 มกราคม 2007, 12:41:31 »

รู้จักแต่ blowjob คับ 555
บันทึกการเข้า

idelsonar
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 59
ออฟไลน์ ออฟไลน์

กระทู้: 1,018



ดูรายละเอียด
« ตอบ #8 เมื่อ: 06 มกราคม 2007, 13:18:51 »

เอาแบบไม่มี cron job ได้ไหมใช้คำสั่งไม่เป็น + ต้องมาสั่งทีละไฟล์ มี 400 เว็บก็กระอักเลย
น่าจะเอา php สั่งเองโดยแก้ใน config เลย
บันทึกการเข้า

tatum
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #9 เมื่อ: 06 มกราคม 2007, 13:32:53 »

ลองใช้คำสั่ง nice ช่วยดูครับ มันจะทำให้ script หรือ program ที่ run ใน server กินทรัพยากรน้อยลง หรือ ลดลำดับความสำคัญลงนั่นเองครับ จะได้ปลอดภัย เลข มากๆ ยิ่งมีความสำคัญน้อยครับ เช่น

กรณีที่ host อนุญาติให้รันแบบ shell ได้

nice -n 19 perl abc.pl

หรือใส่ใน perl ก็ตามตัวอย่างใน wiki ครับ http://en.wikipedia.org/wiki/Nice_(Unix)

use POSIX ();
POSIX::nice(7); # like the renice shell command; increase niceness level by 7
my $prio = getpriority(0,0); # like the C function

ใน php ผมไม่แน่ใจว่าใช่ตัวนี้หรือเปล่า
http://th.php.net/manual/en/function.proc-nice.php

ลองเล่นดูครับ อาจจะผสมกับการ set_timeout ให้นานขึ้นแต่เราก็ลดลำดับความสำคัญของ script เราลง

อ้อผมลองกับ pair hosting(FreeBSD) มีคำสั่งนี้นะครับแต่ host อื่นผมไม่ทราบครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์