আপনি কীভাবে আপাচে একযোগে সংযোগগুলির সংখ্যা বাড়িয়ে তুলবেন?


104

অ্যাপাচে সর্বাধিক সংযোগের সংখ্যা বাড়ানোর জন্য আমার কোন HTD কনফারেন্স সেটিংস পরিবর্তন করতে হবে? দ্রষ্টব্য: আমি মূলত একটি API সার্ভার হওয়ায় আমি কিপএলাইভটি বন্ধ করে দিয়েছি।

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive Off

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15

##
## Server-Pool Size Regulation (MPM specific)
## 

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75 
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

উত্তর:


173

এখানে ম্যাক্সক্লিয়েন্টস এবং ম্যাক্সরুইয়েস্টপিয়ারচিল্ডের গণনা সম্পর্কে বিস্তারিত ব্যাখ্যা দেওয়া হয়েছে

http://web.archive.org/web/20160415001028/http://www.genericarticles.com/mediawiki/index.php?title=How_to_optimize_apache_web_server_for_maximum_concurrent_connifications_or_increase_max_clients_in_apache

ServerLimit 16
StartServers 2
MaxClients 200
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25

প্রথমত, যখনই অ্যাপাচি শুরু হয়, এটি 2 টি শিশু প্রক্রিয়া শুরু করবে যা StartServersপ্যারামিটার দ্বারা নির্ধারিত হয় । তারপরে প্রতিটি প্রক্রিয়াটি ThreadsPerChildপ্যারামিটার দ্বারা নির্ধারিত 25 থ্রেড শুরু করবে সুতরাং এর অর্থ 2 প্রক্রিয়াটি কেবল 50 সমবর্তী সংযোগ / ক্লায়েন্ট অর্থাৎ 25x2 = 50 পরিবেশন করতে পারে। এখন যদি আরও সহবর্তী ব্যবহারকারী আসে, তবে অন্য একটি শিশু প্রক্রিয়া শুরু হবে, যা আরও 25 জন ব্যবহারকারীকে পরিষেবা দিতে পারে। তবে কতগুলি শিশু প্রক্রিয়া শুরু করা যেতে পারে তা ServerLimitপ্যারামিটার দ্বারা নিয়ন্ত্রিত হয় , এর অর্থ হ'ল উপরের কনফিগারেশনে আমার মোট 16 টি শিশু প্রক্রিয়া থাকতে পারে, প্রতিটি শিশু প্রক্রিয়াটি 25 টি থ্রেড পরিচালনা করতে পারে, মোট 16x25 = 400 সমবর্তী ব্যবহারকারীদের পরিচালনা করতে। তবে এখানে সংজ্ঞায়িত সংখ্যাটি যদি MaxClientsকম হয় যা এখানে 200 হয়, তবে এর অর্থ হ'ল 8 টি শিশু প্রসেসের পরে কোনও অতিরিক্ত প্রক্রিয়া শুরু হবে না কারণ আমরা একটি উচ্চ ক্যাপটি সংজ্ঞায়িত করেছিMaxClients। এর অর্থ হ'ল আমি যদি MaxClients১ child টি শিশু প্রসেস এবং 400 সংযোগের পরে 1000 এ সেট করি তবে কোনও অতিরিক্ত প্রক্রিয়া শুরু হবে না এবং আমরা MaxClientপ্যারামিটারটি বাড়িয়ে তুললেও 400 টিরও বেশি সমবর্তী ক্লায়েন্টকে পরিষেবা দিতে পারি না । এই ক্ষেত্রে, আমাদের ServerLimit1000/25 এও বৃদ্ধি করতে হবে, MaxClients/ThreadsPerChild=40 সুতরাং এটি সার্ভার 1000 ক্লায়েন্টের অপ্টিমাইজড কনফিগারেশন

<IfModule mpm_worker_module>
    ServerLimit          40
    StartServers          2
    MaxClients          1000
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>

24
সংস্করণ ২.৩.১৩-এর পরে কিছু পরিবর্তন হয়েছে বলে মনে হচ্ছে। উদাহরণস্বরূপ ম্যাক্সক্লিয়েন্টস এখন ম্যাক্সরেকুয়েস্ট ওয়ার্কার্স।
ǝlǝ

4
দয়া করে পরামর্শ দিন: লিঙ্কযুক্ত সাইটটি বর্তমানে ম্যালওয়্যার (এবং পর্নো
ইয়োনো

4
ঠিক আছে, তবে এই সর্বোত্তম কনফিগারেশনের জন্য প্রয়োজনীয় মেমরি এবং সিপিইউ প্রয়োজনীয়তাগুলি কী। অথবা এই অপ্টিমাইজেশনের জন্য আমি কীভাবে সিপিইউ এবং মেমোরির বিবেচনায় নেব।
indianwebdevil

আমি এই কনফিগারেশনটি প্রয়োগ করেছি এবং এখনও বর্তমান সংযোগগুলি পৌঁছে গেছে ... অন্য কোথাও একটি কঠিন সীমা হিসাবে মনে হচ্ছে
জর্জে কর্নেজো বেলিডো

এই লিঙ্কটি jeffgeerling.com/blog/3-small-tweaks-make-apache-fly গ্রহণযোগ্য ফলাফল অর্জন করার জন্য নির্দেশাবলী সেট করার সময় সাহায্য করতে পারে। যদিও আমি নিজে এখনও নিবন্ধটি থেকে শিখছি।
লেক্স সফট

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.