คำถามติดแท็ก optimization

การเพิ่มประสิทธิภาพเป็นกระบวนการแก้ไขระบบเพื่อให้บางส่วนของระบบทำงานได้อย่างมีประสิทธิภาพมากขึ้นหรือใช้ทรัพยากรน้อยลง

8
ทำไม rsync เร็วกว่า NFS
ไม่กี่วันที่ผ่านมาฉันสังเกตเห็นบางสิ่งที่ค่อนข้างแปลก (อย่างน้อยสำหรับฉัน) ฉันวิ่ง rsync คัดลอกข้อมูลเดียวกันและลบหลังจากนั้นก็จะ NFS /nfs_mount/TESTติดที่เรียกว่า นี้/nfs_mount/TESTจะเป็นเจ้าภาพ / nfs_server-eth1ส่งออกจาก MTU บนเน็ตเวิร์กอินเตอร์เฟสทั้งสองคือ 9000 สวิตช์ในระหว่างรองรับเฟรมขนาดใหญ่เช่นกัน ถ้าฉันจะrsync -av dir /nfs_mount/TEST/ได้รับความเร็วการถ่ายโอนเครือข่าย X MBps ถ้าฉันจะrsync -av dir nfs_server-eth1:/nfs_mount/TEST/ได้รับความเร็วการถ่ายโอนเครือข่ายอย่างน้อย 2X MBps NFS nfs rw,nodev,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountvers=3,mountproto=tcpของฉันติดตัวเลือก Bottom line: การถ่ายโอนทั้งสองผ่านเครือข่ายย่อยเดียวกัน, สายไฟเดียวกัน, อินเทอร์เฟซเดียวกัน, อ่านข้อมูลเดียวกัน, เขียนไปยังไดเรกทอรีเดียวกัน, เป็นต้นความแตกต่างเพียงอย่างเดียวคือผ่าน NFSv3, อีกอันหนึ่งผ่าน rsync ไคลเอนต์คือ Ubuntu 10.04, เซิร์ฟเวอร์ Ubuntu 9.10 ทำไม rsync ถึงเร็วขนาดนี้? วิธีทำให้ …

3
ค่าที่เหมาะสมที่สุดสำหรับคำสั่ง ServerLimit, MaxClients, MaxRequestsPerChild
ฉันใช้งานเว็บไซต์ที่มีปริมาณการใช้งานเนื้อหาแบบไดนามิกจำนวนมากซึ่งส่วนใหญ่สร้างโดยผู้ใช้ เซิร์ฟเวอร์เป็นเซิร์ฟเวอร์เฉพาะและมีซีพียู Intel (R) Xeon (R) X3210 @ 2.13GHz จำนวน 4 ตัว ฉันจำเป็นต้องรู้ถึงคุณค่าที่ดีที่สุดสำหรับคำสั่ง ServerLimit และ MaxClients ของ apache เนื่องจากเซิร์ฟเวอร์มี RAM 4GB และฐานข้อมูล MySQL ทำงานบนเซิร์ฟเวอร์แยกต่างหาก พาเนลคือ DirectAdmin พร้อม CentOS ด้านล่างเป็นคำสั่งปัจจุบันของฉัน แต่ในช่วงชั่วโมงเร่งด่วนที่มีผู้ใช้มากกว่า 5k ความล่าช้าที่สำคัญถูกสังเกตเห็น - และมันไม่ใช่ความผิดทั้งหมดของ MySQL เพราะหน้าดูเหมือนจะสร้างขึ้นอย่างรวดเร็ว (ฉันใช้ตัวนับเวลาในการสร้างหน้าเว็บ) ความล่าช้าในการเชื่อมต่อจนกระทั่งเพจเริ่มตอบสนองและถูกส่งไปยังเบราว์เซอร์ <IfModule prefork.c> StartServers 800 MinSpareServers 20 MaxSpareServers 60 ServerLimit 900 MaxClients 900 …

5
ตัวเลือกการกำหนดค่าใดสำหรับ MySQL ให้การปรับปรุงความเร็วที่ใหญ่ที่สุด
ตัวเลือกการกำหนดค่าใดสำหรับ MySQL ให้การปรับปรุงความเร็วที่ใหญ่ที่สุด ฉันสงสัยเกี่ยวกับการปรับปรุงแฟ้มการกำหนดค่าจริงประเภทตารางการตั้งค่าฮาร์ดแวร์การจำลองแบบและอื่น ๆ นอกจากโครงสร้างแบบสอบถามและโครงสร้างตาราง (สิ่งเหล่านี้หาได้ง่ายในเว็บไซต์และ Stack Overflow) สิ่งต่าง ๆ เช่นการตั้งค่าแคชแบบสอบถามทำให้คุณมีความเร็วมากที่สุดหรือไม่ วิธีการเกี่ยวกับไดรฟ์ มันจะดีกว่าที่จะมีมันบน RAID ภายนอกหรือภายใน? การจำลองแบบให้ประสิทธิภาพที่ดีขึ้นหรือไม่โดยเฉพาะอย่างยิ่งเมื่ออ่านข้อความค้นหาขนาดใหญ่ คุณได้ทำการตั้งค่า / การเปลี่ยนแปลงอื่นใดเพื่อปรับปรุงประสิทธิภาพของ MySQL? หมายเหตุ: ฉันรู้ว่าสิ่งเหล่านี้ขึ้นอยู่กับการใช้งานเป็นอย่างมาก (นั่นคือเว็บไซต์ขนาดเล็กเทียบกับคลังข้อมูล) แต่เนื่องจากฉันคิดว่าส่วนใหญ่เราอาจทำงานบนเว็บไซต์ / ระบบที่หลากหลายจึงเป็นการดีที่จะทราบเทคนิคที่หลากหลายที่สามารถนำไปใช้ได้ สถานการณ์ นอกจากนี้ฉันคิดว่าเทคนิคบางอย่างสามารถถ่ายโอนระหว่างสถานการณ์

3
เพิ่มประสิทธิภาพการทำงานสูงสุดและปริมาณงาน rsync - เซิร์ฟเวอร์กิกะบิตที่เชื่อมต่อโดยตรง
ฉันมีเซิร์ฟเวอร์ Dell R515 สองเครื่องที่ใช้งาน CentOS 6.5 โดยมี NIC ของ Broadcom หนึ่งเครื่องในแต่ละเครื่องเชื่อมต่อโดยตรงกับเซิร์ฟเวอร์อื่น ฉันใช้ลิงก์โดยตรงเพื่อผลักดันการสำรองข้อมูลจากเซิร์ฟเวอร์หลักในคู่ไปที่สำรองทุกคืนโดยใช้ rsync บน ssh ตรวจสอบปริมาณการใช้งานฉันเห็นปริมาณงาน ~ 2MBps ซึ่งน้อยกว่าที่คาดไว้มากจากพอร์ตกิกะบิต ฉันได้ตั้งค่า MTU เป็น 9000 ทั้งสองด้าน แต่ดูเหมือนจะไม่เปลี่ยนแปลงอะไรเลย มีชุดการตั้งค่าและการเพิ่มประสิทธิภาพที่แนะนำที่จะนำฉันไปสู่ปริมาณงานที่มีสูงสุด นอกจากนี้เนื่องจากฉันใช้ rsync บน ssh (หรืออาจเป็นเพียงแค่ NFS) เพื่อคัดลอกไฟล์หลายล้านไฟล์ (~ 6Tb ของไฟล์ขนาดเล็ก - Zimbra mailstore ขนาดใหญ่) การเพิ่มประสิทธิภาพที่ฉันกำลังมองหาอาจจำเป็นต้องเฉพาะเจาะจงมากขึ้นสำหรับกรณีการใช้งานเฉพาะของฉัน . ฉันใช้ ext4 ทั้งสองด้านถ้าเป็นเช่นนั้น ขอบคุณ แก้ไข: ฉันใช้rsyncตัวเลือกต่อไปนี้กับผลลัพธ์ที่คล้ายกันมาก: rsync -rtvu …

7
ตัวเลือกในการซิงโครไนซ์ไฟล์ 1 ล้านไฟล์กับเซิร์ฟเวอร์ระยะไกลได้อย่างมีประสิทธิภาพหรือไม่
ที่ บริษัท ฉันทำงานให้เรามีสิ่งที่เรียกว่า "เพลย์ลิสต์" ซึ่งเป็นไฟล์ขนาดเล็กประมาณ 100-300 ไบต์ต่อไฟล์ มีประมาณล้านคน ประมาณ 100,000 คนได้รับการเปลี่ยนแปลงทุกชั่วโมง เพลย์ลิสต์เหล่านี้จะต้องอัปโหลดไปยังเซิร์ฟเวอร์ระยะไกลอื่น ๆ 10 แห่งในแต่ละทวีปที่แตกต่างกันทุกชั่วโมง มันสำคัญมากที่ไฟล์ที่ถูกลบในต้นแบบนั้นจะถูกลบในแบบจำลองทั้งหมดด้วย ขณะนี้เราใช้ Linux สำหรับโครงสร้างพื้นฐานของเรา ฉันกำลังคิดเกี่ยวกับการลอง rsync ด้วยตัวเลือก -W เพื่อคัดลอกไฟล์ทั้งหมดโดยไม่ต้องเปรียบเทียบเนื้อหา ฉันยังไม่ได้ลองเลย แต่บางทีคนที่มีประสบการณ์มากกว่ากับ rsync อาจบอกฉันได้ว่ามันเป็นตัวเลือกที่เหมาะสมหรือไม่? ตัวเลือกอื่น ๆ ที่มีมูลค่าการพิจารณา? ปรับปรุง:ฉันได้เลือกตัวเลือก lsyncd เป็นคำตอบ แต่เพียงเพราะมันเป็นที่นิยมที่สุด ทางเลือกที่แนะนำอื่น ๆ ก็มีผลในทางของตัวเอง

2
การเพิ่มประสิทธิภาพ IIS 7.5 สำหรับไซต์ที่ให้บริการเฉพาะเนื้อหาแบบคงที่
ฉันกำลังมองหาการตั้งค่าโดเมนที่ไม่มีคุกกี้ซึ่งมีวัตถุประสงค์เพื่อให้บริการเนื้อหาแบบคงที่สำหรับเว็บแอปพลิเคชันซึ่งคล้ายกับเว็บไซต์http://sstatic.net/ ที่ไซต์แลกเปลี่ยนสแต็กใช้ คำถามของฉันคือฉันสามารถปรับแต่งอะไรให้เหมาะสมกับการตั้งค่า IIS 7.5 สำหรับโดเมนดังกล่าว ตัวอย่างเช่นมันจะไม่รับผิดชอบอะไรเลยนอกจากการให้บริการเนื้อหาแบบคงที่ดังนั้นการปิดการใช้งานการรวม ASP.NET จะเป็นการย้ายที่ดีสำหรับเว็บไซต์นี้หรือไม่? ข้อเสนอแนะหรือการอ้างอิงใด ๆ ในการตั้งค่าเว็บไซต์ที่มี IIS 7.5 จะยินดีมากที่สุด แก้ไข เพียงเพื่อชี้แจงว่านี่ไม่ใช่ไซต์เดียวบนเซิร์ฟเวอร์ดังนั้นการปรับให้เหมาะสมที่แนะนำควรกำหนดเป้าหมายระดับไซต์ไม่ใช่กำหนดค่าระดับเซิร์ฟเวอร์

3
วิธีกำหนดขนาดไบต์ที่ดีที่สุดสำหรับคำสั่ง dd
ฉันรู้ว่าการทำ dd ถ้า = / dev / hda ของ = / dev / hdb ทำสำเนาฮาร์ดไดรฟ์ลึก ฉันได้ยินมาว่าผู้คนสามารถเพิ่มความเร็วในกระบวนการได้โดยการเพิ่มจำนวนไบต์ที่อ่านและเขียนได้ในเวลา (512) ด้วยตัวเลือก "bs" คำถามของฉันคือ: กำหนดขนาดที่เหมาะสมที่สุดสำหรับการคัดลอกจากฮาร์ดไดรฟ์คืออะไร? และ เหตุใดจึงกำหนดขนาดไบต์ที่เหมาะสมที่สุด

7
ไฟล์ในไดเรกทอรีมีไฟล์มากเกินไป? (กำลังดาวน์โหลดข้อมูลจากเน็ต)
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Server Fault อพยพ 9 ปีที่ผ่านมา ทักทาย, ฉันกำลังเขียนสคริปต์เพื่อประมวลผลภาพจากเว็บไซต์ภาพถ่ายต่างๆ ตอนนี้ฉันกำลังจัดเก็บข้อมูลทั้งหมดนี้ในไฟล์ข้อความแต่ละไฟล์ในไดเรกทอรีเดียวกัน ไดเรกทอรีนี้สามารถเข้าถึงได้ทางเว็บ ผู้ใช้ปลายทางทำการโทรไปยังบริการเว็บซึ่งจะส่งคืนพา ธ ไปยังไฟล์ที่ผู้ใช้ต้องการ ฉันสงสัยว่าขั้นตอนใดที่ฉันจะเห็นผลกระทบต่อประสิทธิภาพโดยการมีไฟล์เหล่านี้ทั้งหมดในไดเรกทอรีเดียวกัน (ถ้ามี)

3
สร้างตาราง MySQL แถว 1,000M
คำถามนี้ถูกโพสต์ใหม่จากStack Overflowตามคำแนะนำในความคิดเห็นขอโทษสำหรับการทำซ้ำ คำถาม คำถามที่ 1: เนื่องจากขนาดของตารางฐานข้อมูลมีขนาดใหญ่ขึ้นฉันจะปรับแต่ง MySQL เพื่อเพิ่มความเร็วของการโทรโหลดข้อมูล INFILE ได้อย่างไร คำถามที่ 2: จะใช้กลุ่มคอมพิวเตอร์เพื่อโหลดไฟล์ csv ที่แตกต่างกันปรับปรุงประสิทธิภาพหรือทำลายไฟล์หรือไม่ (นี่คือภารกิจการทำเครื่องหมายของฉันสำหรับวันพรุ่งนี้โดยใช้ข้อมูลโหลดและเม็ดมีดจำนวนมาก) เป้าหมาย เรากำลังลองใช้ชุดตรวจจับคุณสมบัติและพารามิเตอร์การจัดกลุ่มที่แตกต่างกันสำหรับการค้นหารูปภาพดังนั้นเราจึงจำเป็นต้องสามารถสร้างและฐานข้อมูลขนาดใหญ่ได้ในเวลาที่เหมาะสม ข้อมูลเครื่อง เครื่องมี ram ขนาด 256 กิ๊กและมีอีก 2 เครื่องที่มี ram เท่ากันถ้ามีวิธีในการปรับปรุงเวลาการสร้างโดยการกระจายฐานข้อมูลหรือไม่? สคีมาตาราง คีมาตารางดูเหมือน +---------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+------------------+------+-----+---------+----------------+ | match_index | int(10) unsigned …

6
เพิ่มประสิทธิภาพ apache / php / mysql ที่รันบน VPS สำหรับการโหลดจำนวนมาก
คำถามเกี่ยวกับการปรับเซิร์ฟเวอร์ apache / mysql ให้เหมาะสมบน VPS ที่มี RAM 512m ภายใต้การโหลดปกติทุกอย่างทำงานได้อย่างรวดเร็วไม่มีการเชื่อมต่อที่ล่าช้า อย่างไรก็ตามเมื่อเราได้รับการเข้าชมจำนวนมาก (50k + การเข้าชม) ไซต์จะทำการรวบรวมข้อมูลและใช้เวลา 30 วินาที + เพื่อรับเนื้อหากลับจาก apache ไซต์ทำงานบน Expression Engine (CMS) (ใน PHP) และฉันได้ปฏิบัติตามคำแนะนำในการเพิ่มประสิทธิภาพแบบหนักแล้ว ฉัน googled และตามมาไม่กี่อย่างสำหรับอาปาเช่ด้วยโชคบางอย่างไปถึงที่ตอนนี้ แต่ฉันต้องได้รับการตอบสนองอย่างต่อเนื่อง ฉันคิดว่าสิ่งนี้แตกต่างจากคำถาม 'ปรับให้เหมาะสมสำหรับหน่วยความจำต่ำ' ที่นี่เนื่องจากฉันมี RAM เพียงพอ (สำหรับสิ่งที่ฉันพยายามจะทำ) ฉันแค่ต้องการให้เซิร์ฟเวอร์ไม่สำลักภายใต้ภาระหนัก มีคำแนะนำอะไรบ้าง?

5
วิธีลดการใช้หน่วยความจำ SpamAssassin (spamd)
ฉันกำลังใช้ SpamAssassin บน Debian (การกำหนดค่าเริ่มต้นด้วย Pyzor, AWL และ Bayes และการเปิดใช้งาน sa-compile) และกระบวนการ childs spamd แต่ละอันใช้หน่วยความจำประมาณ 100 ถึง 150MB (ประมาณ 50MB ของหน่วยความจำจริง) ใน 32 บิตเซิร์ฟเวอร์และเพิ่มเป็นสองเท่า (พอพอสมควร) บนเซิร์ฟเวอร์ 64 บิต โดยทั่วไปจะมีกระบวนการลูกสองกระบวนการ แต่ในเวลาไม่ว่างอาจมีการทำงานห้า (สูงสุด) ISTM ที่ 200 ถึง 600MB เป็นหน่วยความจำจำนวนมากสำหรับงานนี้ ฉันต้องการใช้ SA ต่อไปเป็นส่วนหนึ่งของโครงสร้างการกรองของฉัน แต่มันก็ยากที่จะพิสูจน์ความจำได้มาก มีวิธีใดบ้างที่จะลดจำนวนหน่วยความจำที่กระบวนการลูกแต่ละอันใช้? (หรือมิฉะนั้นให้ทำกระบวนการลูกเดียวเร็วจนฉันสามารถตั้งค่าเด็กสูงสุดให้เป็น 2 อย่างได้) ฉันยินดีที่จะพิจารณาตัวเลือกต่าง ๆ รวมถึงตัวเลือกที่จะหรืออาจส่งผลให้ความแม่นยำลดลง ผมเคยอ่านแล้ว"ออกจากปัญหาหน่วยความจำ" หน้าสาวิกิพีเดีย …

6
วันแรกออนไลน์: วิธีที่จะไม่ฆ่าเว็บไซต์ของคุณ
สมมติว่าคุณมีไซต์ใหม่ที่แปลกใหม่พร้อมข้อมูลมากมาย (เช่นภาพขนาดใหญ่) และคุณกำลังจะทำให้มันออนไลน์ หากคุณทำการประชาสัมพันธ์ "มากเกินไป" ในช่วงวันแรกไซต์จะมีการร้องขอมากมาย ฉันจะลดความเสี่ยงนี้ได้อย่างไร ฉันคิด จะมีชีวิตอยู่อย่างค่อยเป็นค่อยไปเช่น SO และ SF: เบต้า "ส่วนตัว" เบต้าสาธารณะสาธารณะ อนุญาต X สัมพันธ์ เซสชันพร้อมกันดังนั้นผู้ใช้ที่เชื่อมต่อยังคงมีประสบการณ์ที่ดีของไซต์และผู้อื่นมีข้อความขอโทษที่ดี ฉันไม่สามารถ: ซื้อเซิร์ฟเวอร์มากขึ้นเพราะหลังจากวันแรกไซต์จะมีปริมาณการใช้งานน้อยลง :)

2
Nginx auto ลดขนาดเอาต์พุต html
ไม่มีใครรู้วิธีที่จะได้รับ nginx (หรือวิธีอื่น ๆ ) เพื่อลดการส่งออก HTML ได้ทันที? ดูเหมือนว่าตรงไปตรงมากับฉันและสามารถโกนหนวดออกไม่กี่กิโลไบต์และช่วยเร่งเว็บไซต์


2
Linux Slow Start: การเปลี่ยนเส้นทาง ip ไม่มีผลกระทบใด ๆ กับหน้าต่างเริ่มต้น
ฉันเปลี่ยนหน้าต่างเริ่มต้น tcp ในเครื่องเป็น 10 ตามที่แสดงด้านล่าง [user@site etc]$ sudo ip route change default via 17.255.209.1 dev eth0 proto static initcwnd 10 และเปลี่ยนไปtcp_slow_start_after_idleตามที่แสดงด้านล่าง [user@site etc]$ sudo sysctl -a | grep tcp_slow_start_after_idle net.ipv4.tcp_slow_start_after_idle = 0 การยืนยันการแสดงเส้นทาง IP ได้รับด้านล่าง [user@site etc]$ ip route show default via 17.255.209.1 dev eth0 proto static initcwnd 10 169.254.0.0/16 …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.