สร้างเครื่อง Visual Studio ที่รวดเร็ว


28

ฉันต้องการสร้างพีซีเพื่อเรียกใช้ Visual Studio อย่างรวดเร็ว ฉันมีโครงการประมาณ 30 C # ซึ่งรวมถึงบริการ WCF, IIS web services ดังนั้นสำหรับฉันอย่างรวดเร็วหมายถึงการแก้ไขอย่างรวดเร็วรวบรวมเรียกใช้และแก้ไขข้อบกพร่องรอบ

ฉันควรสร้างความสมดุลระหว่างการลงทุนในพลัง CPU, หน่วยความจำและเทคโนโลยีไดรฟ์เมื่อสร้างเครื่องจักรเพื่อจุดประสงค์ของฉันอย่างไร

คำตอบ:


19

ทีมนักพัฒนาของเราใช้ฮาร์ดแวร์ที่รวดเร็วจริงๆ ... $ 6,000 + ต่อเครื่อง Dev ณ เดือนมกราคม 2010

ความแตกต่างที่ยิ่งใหญ่ที่สุดที่องค์ประกอบใด ๆ ที่สร้างขึ้นสำหรับเรา (เราทดสอบสิ่งหนึ่งครั้ง) กำลังเพิ่ม I / O ที่รวดเร็วและวางซอร์สโค้ดของเราทั้งหมดลงบนฮาร์ดแวร์นั้น เราผ่านการกำหนดค่าที่แตกต่างกันประมาณ 10 ครั้ง (RAID ต่างๆที่มี VRaptors, SSD, ฯลฯ ... ) และรายการที่ดีที่สุดที่เราคิดไว้คือไดรฟ์ IOXtreme จาก Fusion IO

http://www.fusionio.com/products/ioxtreme/

คุณจะต้องใช้ RAM เป็นจำนวนมากเนื่องจากไดรเวอร์ "ล็อค" RAM ในปริมาณที่มากขึ้นขนาดบล็อกที่มีการจัดรูปแบบของคุณจะเล็กลงในไดรฟ์

เด็กชายที่ไม่ดีเหล่านั้นไม่สามารถลบเลือนได้และ Super fast ทั้งอ่านและเขียนแบบสุ่ม สำหรับเงินนั้นเราไม่สามารถทำให้แท่นขุดน้ำมันของเรารวบรวมได้เร็วขึ้น

ฉันจะรวบรวมเวลาจริงอย่างรวดเร็วเพื่อให้ความคิดแก่คุณ ...

ตกลงปัจจุบันโซลูชันหลักของเราที่มีรหัสทั้งหมดมี 37 โครงการและรหัส "ปฏิบัติการได้" ทั้งหมด 92,281 บรรทัดตามผลการวัดรหัส Visual Studio ในการคอมไพล์ด้วย DEFAULT C # Developer settings ใน IDE (เพียงโหลดการตั้งค่าทั้งหมดใหม่เพื่อให้คุณสามารถเปรียบเทียบกับค่าปริยายหากคุณต้องการ) ใช้เวลา 22 วินาที บนเครื่องที่เหมือนกันด้วย 3 Velociraptors ใน RAID 5 ใช้เวลา 29 วินาทีดังนั้นเพิ่มขึ้น 24%

การทดสอบนั้นดำเนินการด้วย CLEAN SOLUTION ตามด้วย REBUILD SOLUTION ดังนั้นจึงควรรวบรวมอย่างเต็มรูปแบบ

ฉันไม่รู้เกี่ยวกับพวกคุณทุกคน แต่ฉันรวบรวมบ่อย ๆ หลังจากการเปลี่ยนแปลงเล็กน้อยถึงปานกลาง น่าจะเฉลี่ย 80-100 ครั้งต่อวัน นั่นหมายความว่าเพียงแค่ไดรฟ์ IOXtreme กำลังช่วยฉัน 9.3 นาทีต่อวัน ที่ $ 70 ต่อชั่วโมง (อัตรา devs โดยเฉลี่ยของเรา) ประมาณ $ 10 ต่อวันต่อนักพัฒนา ดังนั้นสิ่งนี้ใช้เวลาประมาณ 90 วันในการชำระค่าใช้จ่ายเอง ไม่เลวจริง ๆ ... พวกเขามีอิสระในจุดนี้

นอกจากนี้ฉันรู้สึกว่าเวลาในการรวบรวมนั้นไม่เคยได้รับอนุญาตให้สูงเกินกว่าเกณฑ์ของนักพัฒนาสำหรับการเบี่ยงเบนความสนใจ ทำให้ฉันรอ 2 นาที ... ใน Wiki หรือ Google หรือ Youtube ต้องเสียเวลา นั่นเป็นเรื่องยากที่จะวัด

ตกลงดังนั้นแท่นขุดทั้งหมดมีลักษณะดังนี้:

Windows 7 Professional 12GB RAM 2x Quad Core Xeons (E5504) ที่ 2.00 GHz 8 GHz รวมต่อเครื่อง Highpoint 2320 RAID Controllers Server Mobo (ฉันลืมรุ่น, ขอโทษ) 3x Velociraptors ใน RAID 5, แบ่งเป็นไดรฟ์ C, D และ E Windows บน C, โปรแกรมบน D, โฟลเดอร์ข้อมูลผู้ใช้บน E. IO Xtreme Drive เป็น Drive F. รหัสทั้งหมด (เราและ DLLs บุคคลที่สาม) อยู่ใน Drive F

ขอให้โชคดีทุกคน!


เยี่ยมมาก ... ลิงก์ไปยังกลุ่มผลิตภัณฑ์นั้นเสียแล้ว ... บริษัท เทคโนโลยีไม่เข้าใจว่าเว็บทำงานอย่างไร!
ไมค์เนลสัน

1
สิ่งนี้มีการเปลี่ยนแปลงอย่างไรในช่วง 6 ปีที่ผ่านมา? ผลิตภัณฑ์ใหม่ใด ๆ ที่คุณอยากจะแนะนำ? ฉันคิดว่าราคาได้ลดลงอย่างมีนัยสำคัญในขณะนี้
Twilly

เครื่องมีราคา $ 6,000 และประหยัดได้ $ 10 ต่อวัน คุณจะได้รับระยะเวลาคืนทุน 90 วันอย่างไร
mga911

2
+1 สำหรับความคิดเห็นเกี่ยวกับ "เกณฑ์ที่ทำให้ไขว้เขว" - การระบายผลผลิตจากการที่สามารถเป็นใหญ่ค่าใช้จ่ายที่ไม่คาดคิดเมื่อครั้งรวบรวมได้รับช้า
peterflynn

17

มีคำถามที่คล้ายกันอยู่ที่นี่: ส่วนประกอบเครื่องคอมพิวเตอร์ซึ่งทำให้ผลกระทบที่ใหญ่ที่สุดในเวลารวบรวมของคุณสำหรับ Visual Studio

คอขวดที่ใหญ่ที่สุดคือดิสก์ไดรฟ์เมื่อสร้างบิลด์ใน Visual Studio ตั้งแต่ Visual Studio 2008 คุณสามารถใช้ประโยชน์จากตัวประมวลผลหลายตัวหรือหลายคอร์ระหว่างการสร้างของคุณ ถ้าเป็นฉันฉันจะไปกับสิ่งต่อไปนี้:

  • แพลตฟอร์ม Core I7
  • RAM 6+ GB
  • Windows 7 64-bit ( เร็วกว่า Vista )
  • ไดรฟ์สถานะของแข็งอย่างรวดเร็ว
  • ไม่มีซอฟต์แวร์ป้องกันไวรัสที่ทำงานอยู่ในระหว่างการสร้างของคุณ!

อ่านเพิ่มเติม:


+1 เพื่อคำตอบที่ชัดเจน แต่อย่าเพิ่งเอา i7 มาใช้คำตอบใหม่!
Ivo Flipse

เกี่ยวกับไดรฟ์หลายตัว - หนึ่งตัวสำหรับ O / S หนึ่งตัวสำหรับ 'Program Files', หนึ่งตัวสำหรับ 'build'? SSD จะยังเอาชนะสิ่งนี้ได้หรือไม่
JBRWilkinson

@JBRWilkinson ใช่ SSD เป็นไดรฟ์ที่เร็วที่สุดในตลาดหากคุณได้รับสิ่งที่เหมาะสม
cowgod

3

ผมใช้ RAMDrive จากDataram Visual Studio ไม่ได้ใช้คอร์ PC ทั้งหมด (8 คอร์) ดังนั้นสิ่งที่ฉันทำก็คือฉันฟอร์แมตramdrive ด้วย NTFS และเปิดใช้งานการบีบอัด ซอร์สโค้ดมีอัตราส่วนการบีบอัดสูงดังนั้น RAMDrive ขนาด 2GB จึงมีพื้นที่จัดเก็บอย่างน้อย 4GB คุณยังสามารถเปิดใช้งานการบันทึก ramdrive อัตโนมัติ! วิธีนี้ช่วยให้คุณใช้ IO ที่เร็วที่สุดและเร็วกว่า SSD อย่างไรก็ตามคุณจะสังเกตเห็นว่าเมื่อ IO ไม่ใช่คอขวด VS จะแย่มากในการใช้หลายคอร์


นี่เป็นผลงานที่ดีจริงๆเหรอ?
Anirudha Gupta

1
ฉันทดสอบและไม่สามารถวัดความแตกต่างที่เกี่ยวข้องกับ SSD
thumbmunkeys

@thumbmunkeys ฉันใช้ primocache และมันบันทึกดิสก์เมื่อฉันปิดพีซี ทุกอย่างที่อ่านเขียนเสร็จใน RAM
Anirudha Gupta

@GuptaAnirudha มันเร็วกว่า SSD หรือเปล่า
thumbmunkeys

1
Visual studio ของฉันทำงานได้เร็วขึ้นกว่าเดิมการอ่านครั้งแรกเสร็จสิ้นจาก Disk ดังนั้นมันจึงไม่เร็วในครั้งแรก แต่ถ้าคุณรันโครงการเดียวกันตั้งแต่ 5-6 ชั่วโมงที่ผ่านมาคุณจะเห็นความแตกต่าง
Anirudha Gupta
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.