คำถามติดแท็ก high-load

ทุกด้านของการพัฒนาและบำรุงรักษาระบบที่มีภาระงานสูง

2
วิธีลดจำนวนซ็อกเก็ตใน TIME_WAIT
เซิร์ฟเวอร์ Ubuntu 10.04.1 x86 ฉันมีเครื่องที่มีบริการ FCGI HTTP ซึ่งอยู่หลัง nginx ซึ่งให้บริการคำขอ HTTP ขนาดเล็กจำนวนมากแก่ลูกค้าที่แตกต่างกันจำนวนมาก (ประมาณ 230 คำขอต่อวินาทีในชั่วโมงเร่งด่วนขนาดตอบสนองโดยเฉลี่ยที่มีส่วนหัวคือ 650 ไบต์ลูกค้าหลายล้านรายต่อวัน) เป็นผลให้ฉันมีซ็อกเก็ตจำนวนมากแขวนอยู่ใน TIME_WAIT (กราฟถูกจับด้วยการตั้งค่า TCP ด้านล่าง): ฉันต้องการลดจำนวนซ็อกเก็ต ฉันจะทำอะไรนอกจากนี้ $ cat / proc / sys / net / ipv4 / tcp_fin_timeout 1 $ cat / proc / sys / net / ipv4 / tcp_tw_recycle 1 …

6
เพราะเหตุใดเวลาตอบสนองจึงเพิ่มขึ้นเมื่อคำขอลดความถี่
การแก้ไข : เวลาตอบสนอง ( %D) คือμไม่ใช่ ms! 1 สิ่งนี้ไม่เปลี่ยนแปลงอะไรเกี่ยวกับความแปลกของรูปแบบนี้ แต่หมายความว่ามันจะทำลายล้างได้น้อยลง เหตุใดเวลาตอบกลับจึงมีความสัมพันธ์ตรงกันข้ามกับการขอความถี่ เซิร์ฟเวอร์ไม่ควรตอบสนองเร็วขึ้นเมื่อคำขอจัดการไม่ว่างน้อยลงหรือไม่ ข้อเสนอแนะใด ๆ ที่จะทำให้ Apache "ใช้ประโยชน์จาก" โหลดได้น้อยลง? รูปแบบนี้เป็นระยะ ซึ่งหมายความว่าจะปรากฏขึ้นหากการแสดงผลลดลงต่ำกว่าประมาณ 200 คำขอต่อนาที - ซึ่งเกิดขึ้น (เนื่องจากกิจกรรมผู้ใช้ทั่วไป) ตั้งแต่ดึกถึงเช้า คำขอนั้นง่ายมาก POSTs ที่ส่ง JSON ที่มีความยาวน้อยกว่า 1,000 ตัวอักษร - JSON นี้จะถูกเก็บไว้ (ต่อท้ายไฟล์ข้อความ) - นั่นคือมัน การตอบกลับเป็นเพียง "-" ข้อมูลที่แสดงในกราฟถูกบันทึกด้วย Apache เอง: LogFormat "%{%Y-%m-%d+%H:%M:%S}t %k %D %I %O" …

3
ไกลแค่ไหน“ ไกลเกินไป” สำหรับ ntpd? มันสามารถไปถึงที่นั่นด้วยการกระโดดกะทันหันเพื่อรับภาระหนักได้หรือไม่? สิ่งนี้สามารถถูกแทนที่ได้หรือไม่?
ในไพรเมอร์จำนวนมากบน ntpd เช่นนี้มีคำเตือนเสมอว่า ntpd จะหยุดรีเซ็ตนาฬิกา "[ถ้า] นาฬิกาของคุณอยู่ไกลเกินไป" ไกลแค่ไหน "ไกลเกินไป" นอกจากนี้หากเซิร์ฟเวอร์กระโดดข้ามไปที่โหลดอย่างหนักเช่นจาก idleness ทั้งหมดถึง 100% CPU การเพิ่มขึ้นของอุณหภูมิจะทำให้นาฬิกาเอียงไปที่ "ไกลเกินไป" หรือไม่ สามารถกำหนดค่า ntpd ให้รีเซ็ตนาฬิกาแม้ว่าเวลาจะ "ไกลเกินไป" หรืออย่างน้อยก็ทำให้ "ไกลเกินไป" ไกลออกไปอีกเล็กน้อยได้หรือไม่

6
ค่าเฉลี่ยการโหลดสูงด้วยการใช้งาน CPU เพียงเล็กน้อยและแทบไม่มี IO
คำอธิบายปกติสำหรับโหลดเฉลี่ยสูงด้วยการใช้ซีพียูน้อยภายใต้ลินุกซ์เป็น IO มากเกินไป (หรือนอนหลับอย่างต่อเนื่องไม่ถูกต้อง) ฉันมีบริการที่ทำงานบนคลัสเตอร์ของ VM แบบ 2 คอร์ที่แสดงการใช้งาน CPU ที่ไม่รุนแรง (~ 55-70% ไม่ได้ใช้งาน) แต่สูงกว่าค่าเฉลี่ยการโหลด 2 เท่าในขณะที่อยู่ใกล้ศูนย์ IO, การสลับบริบทที่ไม่ซับซ้อน สำรวจกับpsฉันไม่เคยเห็นDในคอลัมน์สถานะกระบวนการ บริการทับทิม 1.9 ทำงานภายใต้ยูนิคอร์น มันเชื่อมต่อกับฐานข้อมูลอัปสตรีม postgres สองอันซึ่งส่งคำสั่ง avg อย่างรวดเร็ว (~ 0.5ms) บริการถูกบันทึกระยะเวลาการร้องขอที่ผ่านไปประมาณสองเท่าในการผลิตสูงตามที่แสดงภายใต้ภาระความเครียดที่สูงขึ้นในเครือข่ายการทดสอบประสิทธิภาพของเรา สัญญาณการตรวจสอบเพียงอย่างเดียวที่ดูเหมือนว่าจะตีได้ก็คือค่าเฉลี่ยการโหลด (และระยะเวลาตอบสนองเฉลี่ยแน่นอน) ทุกอย่างอื่น (cpu, หน่วยความจำ, io, เครือข่าย, cswitch, intr) เป็นค่าประมาณและการจับคู่ที่ตรงกัน ระบบคือ Ubuntu 10.04.4 LTS "Lucid" uname Linux dirsvc0 2.6.32-32-server …

2
ปลายทาง rsync ionice
เพื่อหลีกเลี่ยง rsync ให้อดอยากระบบและเครือข่ายที่เราใช้ioniceเมื่อเริ่มต้น rsync และตั้งค่า--bwlimitพารามิเตอร์ ตัวอย่างเช่น: ionice -c2 -n7 rsync -aH --bwlimit=30000 /foo root@dest.com:/ สิ่งนี้จะช่วยให้มั่นใจได้ว่าเซิร์ฟเวอร์ต้นทางนั้นยังคงตอบสนองได้ดี อย่างไรก็ตามเซิร์ฟเวอร์ปลายทางช้ามากเนื่องจากดิสก์ io ที่ 100% (ตามที่atopยูทิลิตีเห็น) เป็นไปได้ไหมที่จะใช้ioniceที่เซิร์ฟเวอร์ปลายทางด้วย? บางทีผ่าน-eตัวเลือกrsync ? ฉันไม่ต้องการเรียกใช้ rsync daemon ถ้าเป็นไปได้

4
ps aux แขวนอยู่บน cpu / IO สูงด้วยกระบวนการจาวา
ฉันมีปัญหาบางอย่างกับกระบวนการจาวาและการตรวจสอบ nrpe เรามีกระบวนการบางอย่างที่บางครั้งใช้ CPU 1000% ในระบบ 32 คอร์ ระบบค่อนข้างตอบสนองจนกว่าคุณจะทำ ps aux หรือลองทำอะไรก็ได้ใน / proc / pid # like [root@flume07.domain.com /proc/18679]# ls hangs.. ความงดงามของ ps aux stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0 stat("/dev/pts1", 0x7fffb8526f00) = -1 ENOENT (No such file or directory) stat("/dev/pts", {st_mode=S_IFDIR|0755, st_size=0, …

5
โหลดลีนุกซ์สูงเมื่อใช้งาน CPU / หน่วยความจำต่ำ
ฉันมีสถานการณ์แปลก ๆ ที่กล่อง CentOS 5.5 ของฉันโหลดสูง แต่ CPU และหน่วยความจำที่ใช้ค่อนข้างต่ำ: top - 20:41:38 up 42 days, 6:14, 2 users, load average: 19.79, 21.25, 18.87 Tasks: 254 total, 1 running, 253 sleeping, 0 stopped, 0 zombie Cpu(s): 3.8%us, 0.3%sy, 0.1%ni, 95.0%id, 0.6%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 4035284k total, 4008084k used, 27200k free, …
12 linux  high-load 

3
ข้อเสียของการใช้ nginx เป็นเว็บเซิร์ฟเวอร์หลักหรือไม่
ฉันเคยเห็นเว็บไซต์หลายล้านแห่งที่ใช้ nginx เป็นเว็บเซิร์ฟเวอร์ที่ทำงานร่วมกันกับ Apache แต่ฉันเห็นเซิร์ฟเวอร์น้อยมากที่ใช้ nginx เป็นเว็บเซิร์ฟเวอร์เริ่มต้นเท่านั้น อะไรคือข้อเสียหลักของการกำหนดค่าดังกล่าว? ฉันเห็นบางอย่าง: ไม่สามารถใช้ไฟล์กำหนดค่าต่อไดเรกทอรีเช่น. htaccess ดังนั้นทุกการเปลี่ยนแปลงการกำหนดค่าควรทำกับไฟล์กำหนดค่าเซิร์ฟเวอร์หลักและต้องการโหลดเซิร์ฟเวอร์ใหม่ แต่ pecl htscanner สามารถชดเชยการตั้งค่า php ได้ ไม่สามารถใช้งาน mod_php สำหรับ nginx ซึ่งสามารถชดเชยได้ด้วย php-fpm คนอื่นคืออะไร ทำไมคนไม่ปล่อย Apache และย้ายไปที่ nginx หรือโซลูชันที่มีน้ำหนักเบาอื่น ๆ อาจจะมีเหตุผลพิเศษบางอย่าง? แก้ไข: คำถามนี้เกี่ยวกับการทำงานกับ LAMP stack เป็นหลัก

2
โหลดเซิร์ฟเวอร์สูง - [jbd2 / md1-8] ใช้ 99.99% IO
ฉันได้รับการขัดขวางในสัปดาห์ที่ผ่านมา ซึ่งมักจะเกิดขึ้นวันละครั้งหรือสองครั้ง ฉันจัดการเพื่อระบุจาก iotop ที่ [jbd2 / md1-8] ใช้ 99.99% IO ในช่วงเวลาที่โหลดสูงไม่มีการรับส่งข้อมูลสูงไปยังเซิร์ฟเวอร์ รายละเอียดเซิร์ฟเวอร์คือ: AMD Opteron 8 คอร์ RAM 16 GB การจู่โจมซอฟต์แวร์ HDD 2x2.000 GB 7.200 RPM 1 Cloudlinux + Cpanel ปรับ Mysql อย่างเหมาะสม นอกเหนือจากหนามแล้วโหลดมักจะอยู่ที่ประมาณ 0.80 ฉันได้ค้นหาไปรอบ ๆ แต่ไม่พบสิ่งที่ [jbd2 / md1-8] ทำอะไรกันแน่ มีใครมีปัญหานี้หรือใครรู้วิธีแก้ปัญหาที่เป็นไปได้? ขอขอบคุณ. UPDATE: TIME TID PRIO USER DISK …

3
CPU0 ล้นมือด้วยการขัดจังหวะ eth1
ฉันมี Ubuntu VM ซึ่งทำงานใน Xen XCP ที่ทำงานบน Ubuntu มันเป็นเจ้าภาพจัดบริการ HTTP ที่กำหนดเอง FCGI nginxตามหลัง ภายใต้การโหลดจากab ซีพียูคอร์แรกนั้นอิ่มตัวและส่วนที่เหลืออยู่ภายใต้การโหลด ใน/proc/interruptsฉันเห็นว่าCPU0 ทำหน้าที่ลำดับความสำคัญมากกว่าการขัดจังหวะแกนกลางอื่น ๆ eth1ส่วนใหญ่ของพวกเขามาจาก มีอะไรที่ฉันสามารถทำได้เพื่อปรับปรุงประสิทธิภาพของ VM นี้หรือไม่? มีวิธีการสมดุลการขัดจังหวะอย่างเท่าเทียมกันมากขึ้นหรือไม่? รายละเอียดเลือด: $ uname -a Linux MYHOST 2.6.38-15-virtual # 59-Ubuntu SMP ศุกร์ 27 เม.ย. 16:40:18 UTC 2012 i686 i686 i386 GNU / Linux $ lsb_release -a ไม่มีโมดูล LSB …

4
ทำไมเว็บเซิร์ฟเวอร์ของฉันถึงปล่อยการเชื่อมต่อที่มีการรีเซ็ต TCP ที่โหลดสูง
ฉันมีการติดตั้ง VPS ขนาดเล็กพร้อม nginx ฉันต้องการบีบประสิทธิภาพให้ได้มากที่สุดเท่าที่จะเป็นไปได้ดังนั้นฉันจึงทำการทดลองเกี่ยวกับการเพิ่มประสิทธิภาพและการทดสอบโหลด ฉันใช้ Blitz.io เพื่อทำการทดสอบการโหลดโดยการรับไฟล์ข้อความเล็ก ๆ แบบคงที่และทำงานเป็นปัญหาแปลกที่เซิร์ฟเวอร์ดูเหมือนจะส่ง TCP รีเซ็ตเมื่อจำนวนการเชื่อมต่อพร้อมกันถึง 2000 ประมาณฉันรู้ว่านี่เป็นสิ่งที่ดีมาก จำนวนมาก แต่จากการใช้ htop เซิร์ฟเวอร์ยังคงมีเวลาเหลือเฟือในการใช้งาน CPU และหน่วยความจำดังนั้นฉันจึงต้องการหาแหล่งที่มาของปัญหานี้เพื่อดูว่าฉันสามารถผลักดันมันต่อไปได้อีกหรือไม่ ฉันใช้ Ubuntu 14.04 LTS (64 บิต) ใน 2GB Linode VPS ฉันไม่มีชื่อเสียงพอที่จะโพสต์กราฟนี้โดยตรงดังนั้นนี่คือลิงก์ไปยังกราฟ Blitz.io: นี่คือสิ่งที่ฉันได้ลองทำและค้นหาแหล่งที่มาของปัญหา: ค่าการworker_rlimit_nofileกำหนดค่าnginx ถูกตั้งค่าเป็น 8192 ได้nofileตั้งค่าเป็น 64000 สำหรับทั้งขีด จำกัด ฮาร์ดและซอฟต์rootและwww-dataผู้ใช้ (สิ่งที่ nginx ทำงานเป็น)/etc/security/limits.conf ไม่มีข้อบ่งชี้ว่ามีสิ่งผิดปกติเกิดขึ้น/var/log/nginx.d/error.log(โดยทั่วไปหากคุณพบข้อ จำกัด ของตัวอธิบายไฟล์ nginx จะพิมพ์ข้อความแสดงข้อผิดพลาดโดยบอกว่าเป็นอย่างนั้น) ฉันมีการตั้งค่า …
10 nginx  tcp  high-load  reset 

3
เป็นไปได้ไหมที่จะใช้ตัวโหลดบาลานซ์หลายตัวเพื่อเปลี่ยนเส้นทางปริมาณการใช้งานไปยังเซิร์ฟเวอร์แอปพลิเคชันของฉัน
ฉันใหม่สำหรับการทำ load balance และฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะใช้ load balancer หลาย ๆ ตัวเพื่อเปลี่ยนทราฟฟิกไปยังเซิร์ฟเวอร์แอปพลิเคชันของฉัน ฉันไม่เข้าใจจริงๆว่าสามารถทำสิ่งนี้ได้อย่างไร ชื่อโดเมนไม่ควรตรงกันแบบหนึ่งต่อหนึ่งกับที่อยู่ IP ของเซิร์ฟเวอร์ (ในกรณีนี้คือ IP ของ load balancer หนึ่งตัว) หากเซิร์ฟเวอร์ load balancing แต่ละเครื่องมี IP ที่แตกต่างกันจะสามารถรับคำขอได้จากทั้ง load balancer (หรือ 10 load balancer หรือ 50 หรือ 100)

3
โหลด avg weirdness บน Linux Ubuntu
ในช่วงไม่กี่วันที่ผ่านมาฉันพยายามเข้าใจความแปลกประหลาดที่เกิดขึ้นในโครงสร้างพื้นฐานของเรา แต่ฉันไม่สามารถคิดได้ว่ามันเป็นของเราดังนั้นฉันจึงหันไปหาพวกคุณเพื่อให้คำแนะนำ ฉันสังเกตเห็นใน Graphite, spikes ใน load_avg ซึ่งเกิดขึ้นกับระเบียบที่เป็นอันตรายถึงชีวิตประมาณ 2 ชั่วโมง - มันไม่ได้เกิดขึ้น 2 ชั่วโมง แต่มันก็ปกติมาก ฉันกำลังแนบสกรีนช็อตของสิ่งนี้ที่ฉันได้รับจาก Graphite ฉันติดขัดในการตรวจสอบเรื่องนี้ - ความสม่ำเสมอของสิ่งนี้ทำให้ฉันคิดว่ามันเป็นงาน cron หรืออะไรทำนองนั้น แต่ไม่มี cronjobs ทำงานบนเซิร์ฟเวอร์เหล่านี้ - จริง ๆ แล้วนี่คือ VMs ที่ทำงานในคลาวด์ Spacespace สิ่งที่ฉันกำลังมองหาคือสิ่งบ่งชี้ว่าอาจเป็นสาเหตุของปัญหาเหล่านี้และวิธีการตรวจสอบเพิ่มเติม เซิร์ฟเวอร์ไม่ได้ใช้งานพอสมควร - นี่เป็นสภาพแวดล้อมที่มีการจัดเตรียมดังนั้นจึงแทบไม่มีการรับส่งข้อมูลเข้ามา / ไม่ควรมีการโหลด เหล่านี้คือ VM เสมือน 4 คอร์เสมือน สิ่งที่ฉันรู้แน่นอนคือเรากำลังรวบรวมตัวอย่างของกราไฟต์ทุก ๆ 10 วินาที แต่ถ้านั่นเป็นสาเหตุของการโหลดฉันคาดว่ามันจะสูงอย่างต่อเนื่องมากกว่าที่จะเกิดขึ้นทุก ๆ 2 …

4
โหลดสูงบนเซิร์ฟเวอร์ nagios - บริการตรวจสอบว่าเซิร์ฟเวอร์ nagios มีจำนวนเท่าใดเกินไป
ฉันมีเซิร์ฟเวอร์ nagios ที่ใช้งาน Ubuntu พร้อมโปรเซสเซอร์ Intel 2.0 GHz, อาร์เรย์ RAID10 และ RAM 400 MB จะตรวจสอบทั้งหมด 42 บริการใน 8 โฮสต์ซึ่งส่วนใหญ่จะถูกตรวจสอบโดยใช้ปลั๊กอิน check_http แม้ 5 นาทีบางทุกนาที เมื่อเร็ว ๆ นี้โหลดบนเซิร์ฟเวอร์ nagios สูงกว่า 4 บ่อยครั้งที่สูงถึง 6 เซิร์ฟเวอร์ยังทำงาน cacti โดยรวบรวมสถิติทุกนาทีสำหรับโฮสต์ 6 แห่ง ฉันสงสัยว่าฮาร์ดแวร์ควรมีบริการแบบนี้จำนวนเท่าใดที่สามารถรองรับได้ โหลดสูงเกินไปหรือไม่เนื่องจากฉันกดขีด จำกัด ของฮาร์ดแวร์หรือฮาร์ดแวร์นี้สามารถจัดการกับการตรวจสอบบริการ 42 รายการและ cacti ได้หรือไม่ หากฮาร์ดแวร์ไม่เพียงพอฉันควรเพิ่ม RAM เพิ่มเติมแกนเพิ่มเติมหรือแกนประมวลผลเร็วขึ้นหรือไม่ การตรวจสอบฮาร์ดแวร์ / บริการใดที่ผู้อื่นใช้งานอยู่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.