উবুন্টুর একটি ক্রোন জব রয়েছে যা পুরাতন পিএইচপি সেশনগুলি সন্ধান করে এবং মুছে ফেলে:
# Look for and purge old sessions every 30 minutes
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] \
&& [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 \
-maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir \
fuser -s {} 2> /dev/null \; -delete
আমার সমস্যাটি হ'ল প্রচুর ডিস্ক আইও সহ এই প্রক্রিয়াটি চালাতে খুব দীর্ঘ সময় নিচ্ছে। আমার সিপিইউ ব্যবহারের গ্রাফটি এখানে:
ক্লিনআপ চলমান টি স্পাইক দ্বারা প্রতিনিধিত্ব করা হয়। পিরিয়ডের শুরুতে, পিএইচপি-র ক্লিনআপ কাজগুলি পূর্বনির্ধারিত সময়ে 09 এবং 39 মিনিটের সময় নির্ধারিত হয়েছিল। 15:00 এ আমি ক্রোন থেকে 39 মিনিটের সময় সরিয়ে ফেলেছি, তাই দ্বিগুণ আকারের একটি ক্লিনআপ কাজ প্রায় অর্ধেকের মতো চলে (
আইও সময়ের সাথে সম্পর্কিত গ্রাফগুলি এখানে রয়েছে:
এবং ডিস্ক অপারেশন:
প্রায় শীর্ষে যেখানে প্রায় 14,000 সেশন ছিল, সেখানে পরিষ্কারের পুরো 25 মিনিটের জন্য চালানো যেতে পারে, স্পষ্টতই সিপিইউর একটি কোরের 100% ব্যবহার করে এবং পুরো সময়ের জন্য ডিস্ক আইওয়ের 100% বলে মনে হয়। কেন এটি এত নিবিড় সংস্থান? একটি ls
অধিবেশন ডিরেক্টরি /var/lib/php5
এক সেকেন্ডের মাত্র একটি ভগ্নাংশ সময় লাগে। তাহলে কেন পুরানো সেশনগুলি ছাঁটাতে পুরো 25 মিনিট সময় লাগে? এই গতি বাড়ানোর জন্য আমি কি কিছু করতে পারি?
এই ডিভাইসের ফাইল সিস্টেমটি বর্তমানে এক্সট 4, উবুন্টু যথার্থ 12.04 64-বিটে চলছে।
সম্পাদনা: আমি সন্দেহ করি যে বোঝাটি অস্বাভাবিক প্রক্রিয়া "ফুসার" এর কারণে হয়েছে (যেহেতু আমি যে rm
পারফরম্যান্সটি দেখছি তার চেয়ে সাধারণ কোনও দ্রুত অভিশাপ হিসাবে প্রত্যাশা করব)। আমি ফুজারের ব্যবহার সরাতে যাচ্ছি এবং কী ঘটবে তা দেখতে যাচ্ছি।