LAMP सर्वर प्रदर्शन युक्तियाँ [बंद]


11

LAMP सर्वर चलाने वाले किसी व्यक्ति को कौन से प्रदर्शन सुझाव दिए जा सकते हैं?

उदाहरण में कि कुछ वितरण विशिष्ट है, मैं डेबियन को लक्षित कर रहा हूं।

जवाबों:


26

यह वास्तव में आपके कार्यभार पर निर्भर करता है।

  • के लिए एल हिस्सा

    • बहुत सारी स्मृति प्राप्त करें,
    • यदि आप 4GB से अधिक जा सकते हैं, तो 64 बिट पर जाएं।
    • विभाजन के लिए जहां आपकी सामग्री, लॉग और MySQL डेटा माउंट विकल्प का उपयोग करते हैं: noatime, nodiratime।
    • अलग-अलग भौतिक ड्राइव / छापे के सेट का उपयोग करें, आदर्श रूप से SQL डेटा, लॉग, आपके द्वारा दी जाने वाली सामग्री - प्रत्येक अलग धुरी पर रखें।
  • आपके स्टैक के A भाग के लिए - अच्छी तरह से हो सकता है कि आप इसे पूरी तरह से nginx या lighthttpd से बदलना चाहते हैं , या हो सकता है कि गतिशील सामग्री के लिए Apache छोड़ दें और स्थिर सामग्री के लिए अलग सर्वर (जैसे दो या mathopd ) हों। अधिक विकल्पों के लिए यहां एक नज़र डालें । यदि आप अपाचे और एक अन्य सर्वर दोनों को एक ही बॉक्स पर चलाने जा रहे हैं, तो दूसरा IP पता काम आएगा। अंत-उपयोगकर्ता उपयोग के लिए विलंबता को कम रखने के लिए http / 1.1 को जीवित रखें। स्थिर सामग्री के लिए सीडीएन का उपयोग करने पर विचार करें।

  • अपने दीपक के एम भाग के लिए - mysqlperformanceblog पर एक नज़र डालें । मेरे सिर के ऊपर से:

    • धीमी क्वेरी लॉग करें,
    • पर्याप्त स्मृति दें,
    • innodb का उपयोग करने पर विचार करें।
    • यदि आपके पास बहुत सारे पाठ हैं, जिनमें से - स्पिंक्स का उपयोग करें और एक बैच की नौकरी है जो सूचकांक का पुनर्निर्माण करता है।
    • हत्या के प्रश्नों पर विचार करें जो XYZ सेकंड से अधिक समय तक चलते हैं। 1% उपयोगकर्ताओं को परेशान करने से बेहतर है कि पूरी साइट को चरम समय पर नीचे लाया जाए। लेकिन यह वास्तव में निर्भर करता है अगर आप नकद लेनदेन की प्रक्रिया करते हैं या अच्छी तस्वीरें दिखाते हैं।
    • यदि आप अधिक 'महंगी' एसक्यूएल प्रश्नों के परिणाम को कैश कर सकते हैं, तो मेमकेड का उपयोग करें। जब आप SQL की सामग्री बदलते हैं तो कैश को अमान्य करने का ध्यान रखें। दूसरी ओर मेरे पास बहुत कम साइटें हैं जहां सभी डेटा आराम से मेमोरी में फिट हो जाते हैं और इसके लिए MySQL तेजी से धधक रहा है और अतिरिक्त कैश की कोई आवश्यकता नहीं है।
  • के लिए पी

    • स्क्रिप्ट के लिए निष्पादन टाइमआउट सेट करें।
    • कुछ PHP त्वरक / opcode कैश का उपयोग करने पर विचार करें। मैं xcache से काफी संतुष्ट था , लेकिन मैं अब इसका इस्तेमाल नहीं करता।
    • यदि आपके पास सीपीयू गहन प्रसंस्करण है - कैश परिणाम और उन्हें SQL या मेम्केड में संग्रहीत करें

वास्तव में एक प्रदर्शन टिप नहीं है, लेकिन ऑफसाइट बैकअप लेते हैं। वास्तव में।


1
अगर मैं इसे जोड़ सकता हूं, तो मैंने हाल ही में amazon s3 के माध्यम से पुश और पुल स्ट्रेटजी के साथ सुरक्षित बैकअप के बारे में ब्लॉग किया है। बैंक डेटा के लिए व्यवहार्य नहीं है, लेकिन आप जिस चीज पर भरोसा करेंगे, वह सब ठीक होना चाहिए। logaholic.de/2009/05/21/...
कर्स्टन

मैंने वास्तव में टिप्पणी करने से पहले उस ब्लॉग पोस्ट पर ध्यान दिया है; -]। वैसे भी अच्छा है। आप इसे और अधिक सुरक्षित बनाने के लिए अपने बैकअप को हमेशा एन्क्रिप्ट कर सकते हैं।
पीक्यूडी

3

मैं वास्तव में दो अलग-अलग मशीनों पर MySQL और Apache / PHP को अलग करने का सुझाव देता हूं।

उदाहरण के लिए, मेरे पास एक मशीन (C2D E6600) थी जो हमेशा 2.0 और इसके बाद के लोड औसत के बराबर थी। मैंने MySQL को दूसरी मशीन (P4C 3Ghz) पर रखा और उसके बाद दोनों लोड औसत 0.2-0.3 से ऊपर नहीं गए। इसलिए मैं वास्तव में धीमी साइट से तेजी से साइट पर गया, जिसमें दो सर्वर थे जिनमें बहुत अधिक प्रदर्शन मार्जिन था।


अच्छी बात। मैं केवल अनुमान लगा सकता हूं कि आपकी अड़चन IO सबसिस्टम / ड्राइव जवाबदेही हो सकती है। हो सकता है कि दो अलग-अलग ड्राइव पर डेटा को अलग करने / ठीक डिस्क कंट्रोलर होने के साथ-साथ ट्रिक भी कर सके। वैसे भी अधिक स्मृति, और अधिक cpus हमेशा अच्छा होता है, लेकिन फिर आपको विफलता के अधिक संभव बिंदु भी मिलते हैं।
पीक्यूडी

खैर, मुझे यकीन नहीं है कि यह डिस्क I / Os था क्योंकि अधिकांश (90% कहते हैं) SQL हिट कैश थे। मैं सीपीयू संदर्भ स्विच के बारे में सोच रहा था, लेकिन मुझे नहीं पता कि क्या वास्तव में एक महत्वपूर्ण भूमिका निभा सकता है।
एंटोनी बेनकेमोन

1

P भाग के लिए, आप APC के साथ opcode कैशिंग पर विचार कर सकते हैं । कोई भी डिफ़ॉल्ट mod_php के बजाय php के साथ mod_fastcgi पर विचार कर सकता है ।


मुझे वास्तव में eAccelerator पसंद है। यह मेरी साइटों के लिए सर्वश्रेष्ठ प्रदर्शन देता है।
हिप्पो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.