httpd
( Apache/2.2.29
) মেমরি ব্যবহারে কিছু সমস্যা হচ্ছে ।
সময়ের সাথে সাথে, httpd
প্রক্রিয়াগুলিতে মেমরির ব্যবহার শেষ পর্যন্ত 100% না হওয়া অবধি কমতে থাকে।
শেষবার আমি পুনরায় চালু httpd
হয়েছিল প্রায় 24 ঘন্টা আগে। এর ফলাফল আউট free -m
:
[ec2-user@www ~]$ free -m
total used free shared buffers cached
Mem: 1655 1415 239 0 202 424
-/+ buffers/cache: 788 866
Swap: 1023 4 1019
এটি অবশ্যই প্রমাণ করার জন্য httpd
, আমি আবার শুরু করে আবার httpd
দৌড়েছি free -m
:
[ec2-user@www ~]$ sudo service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[ec2-user@www ~]$ free -m
total used free shared buffers cached
Mem: 1655 760 894 0 202 360
-/+ buffers/cache: 197 1457
Swap: 1023 4 1019
সুতরাং, অ্যাপাচি পুনরায় চালু করতে 239 এমবি থেকে 894 এমবি অবধি ফ্রি মেমরি লাগে - যা মনে হয় এটি একটি বড় লাফের মতো।
আমি বর্তমানে সক্ষম অ্যাপাচি মডিউলগুলির তালিকা (যা প্রচুর পরিমাণে আছে) এবং অক্ষম / মুছে ফেলা হয়েছে mod_wsgi
এবং mod_perl
(যেগুলির কোনওটিরই এই সার্ভারের প্রয়োজন নেই, যা পিএইচপি-ভিত্তিক ওয়েব অ্যাপ্লিকেশন - ম্যাগেন্টো বিশেষত চালাচ্ছে ) এর তালিকাতে যাচ্ছি ।
Https://servercheck.in/blog/3-small-tweaks-make-apache-fly এর উপর ভিত্তি করে , আমি চালিয়েছি ps aux | grep 'httpd' | awk '{print $6/1024 " MB";}'
এবং নিম্নলিখিত আউটপুটটি পেয়েছি :
[root@www ~]# ps aux | grep 'httpd' | awk '{print $6/1024 " MB";}'
15.1328 MB
118.09 MB
127.449 MB
129.059 MB
117.734 MB
113.824 MB
125.062 MB
123.922 MB
119.855 MB
108.066 MB
136.23 MB
114.031 MB
113.27 MB
110.695 MB
102.113 MB
113.234 MB
186.816 MB
118.602 MB
0.835938 MB
অন্যান্য প্রস্তাবিত নির্ণয়ের সরঞ্জাম চালনা করা MaxClients
যার জন্য ps aux | grep 'httpd' | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'
নিম্নলিখিতটি ফিরে আসে:
[root@www ~]# ps aux | grep 'httpd' | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'
110.212 MB
এই সার্ভারে (অ্যামাজন এডাব্লুএস m1.small
উদাহরণ) 1.7 Gb
র্যাম রয়েছে। তাই তাই:
কীভাবে সর্বোত্তম httpd
সেটিংস টুইঙ্ক করতে হবে বা ঠিক কী কারণে এটি ঘটতে পারে তা নির্ণয় করার বিষয়ে আরও কোনও পয়েন্টার / পরামর্শ ?
nginx
তাই সম্ভবত এখন এটি চেষ্টা করার সময় আমরা পেয়েছি, তবে সত্যি কথা বলতে আমি বহু বছর ধরে অ্যাপাচি ব্যবহার করে আসছি এবং কখনও কোনও বড় সমস্যা হয়নি। ম্যাজেন্টো যদিও সত্যই স্মৃতি চিবিয়ে দেয়।
grep httpd
-প্রসেসের স্বল্প মেমোরি ব্যবহার অন্তর্ভুক্ত রয়েছে (কমপক্ষে আমার জন্য)। এটি ঠিক করার জন্য আমি এই লাইনের গণনা থেকে এই লাইনটি বাদ দেওয়ার পরামর্শ ps aux | grep 'httpd' | grep -v grep | awk '{print $6/1024;}' | awk '{avg += ($1 - avg) / NR;} END {print avg " MB";}'
-/+ buffers/cache
লাইনটি দেখতে হবে; তবে এক্ষেত্রে পরিবর্তন তুলনীয়। অ্যাপাচি কীভাবে সুর করা হয়েছে তার উপর নির্ভর করে, এটি অনুরোধ পরিচালনার জন্য প্রস্তুত কয়েকটি প্রক্রিয়া দিয়ে শুরু হতে পারে; অনেকগুলি সমসাময়িক অনুরোধগুলির একটি সময় পরে সম্ভবত আরও বেশি প্রক্রিয়া লোড হ্যান্ডেল করার জন্য গঠন করা হবে। নিষ্ক্রিয় প্রক্রিয়া সংখ্যা টিউন করা যেতে পারে। সুতরাং যদি অ্যাপাচি খুব বেশি মেমরি ব্যবহার করতে বাড়ে, আপনার কিছু টিউনিং করা দরকার।