اول اینکه وقتی کور را میرانید مستقیما کد را اجرا نکنید. از طریق wrapper pwb.py اجرا کنید که یک سری نرمالیزاسیون انجام میدهد که به شدت نیاز میشود.
در مورد مشکل یونکید، در واقع این مشکل گرید انجین و زیرساخت پرل گرید انجین ما است که با مهاجرت به کیوبرنیتیس حل میشود یا حلش آسانتر است. به طور کلی وقتی روی گرید انجین اجرا میکنید اجازه ندهید ربات چیزی یونیکد پرینت کند که ارور میدهد.
کد را باید چک کنم که چه چیزی را قبلش میخواند که چنین میشود. ممکن است تلاش کند به دیتابیس وصل شود و در لوکالهاست سریع فیل شود. ارادتمند
On Fri, Sep 16, 2016 at 11:32 PM Huji Lee huji.huji@gmail.com wrote:
احتمالا منظورتان چیزی شبیه به این بوده:
jsub -once -N "weekly-slow" -mem 1g -o /data/project/huji/err/weekly-slow.out -e /data/project/huji/err/weekly-slow.err /data/project/huji/core/scripts/weekly-slow.p
آن یک قدم اضافی را برای این گذاشتم که دست که چند ماه پیش که این کد را نوشتم، وقتی از داخل خود دستور jsub اجرا میشد با یونیکد مشکل پیدا میکرد اما وقتی jsub یک اسکریپت را اجرا میکرد این مشکل رخ نمیداد. الان دستور بالا را زدم اجرا شود ببینیم چه میشود
اما مشکل کند بودن را حتی بدون jsub هم میتوان دید. وقتی من فقط دستور زیر را اجرا میکنم:
python core/pwb.py weekly-slow
از زمانی که من دستور را اجرا میکنم تا زمانی که خروجی «Stats bot started ...» برای من ظاهرا میشود نزدیک یک دقیق طول میکشد! این در حالی است که آن سطر تقریباً اول سطر ربات است. این یعنی لود کردن pywikibot دارد این همه زمان میگیرد که اصلا منطقی نیست چون روی ماشین درپیتی من کلش یک ثانیه هم نمیبرد!
2016-09-16 14:08 GMT-04:00 Amir Ladsgroup ladsgroup@gmail.com:
خب چرا مستقیما ران نمیکنید؟ jsub -once -N "weekly" -mem 1g -o /data/project/huji/err/weekly.out -e /data/project/huji/err/weekly.err /data/project/huji/core/ /data/project/huji/err/weekly.err /data/project/huji/core/scripts/weekly.py (= مسیر کامل اسکریپت شما)
این کمی بهتر است و ممکن است روی سرعت I/O تاثیر مثبت بگذارد.
گاهی متصل شدن به رپلیکاهای دیتابیس کند میشود که همان مشکل I/O است و حدسم این است که با انتقال به کیوبرنیتیس درست شود. اول موضوع بالا را امتحان کنید و اگر جواب نداد به کیوبرنیتیس منتقل میکنیم. On Fri, Sep 16, 2016 at 10:28 PM Huji Lee huji.huji@gmail.com wrote:
البته ناگفته نماند که من اسکپریتها را با jstat روی گرید اجرا میکنم. شبیه این:
jsub -once -N "weekly" -mem 1g -o /data/project/huji/err/weekly.out -e /data/project/huji/err/weekly.err /data/project/huji/jobs/weekly.sh
که weekly.sh فقط یک سطر است:
python ~/core/pwb.py weekly
2016-09-16 13:48 GMT-04:00 Huji Lee huji.huji@gmail.com:
کد را در https://github.com/PersianWikipedia/fawikibot میتوانید ببینید (چهار پروندهٔ stats.py و weekly.py و weekly-slow.py و inactive-users.py را ببینید، سه تای آخری صرفاً اولی را صدا میکنند که کوئریهای مختلف را اجرا کند؛ بیشتر تاخیر مال «قبل از» اجرا شدن کوئری است).
ربات هم روی تول لبز اجرا میشود. حدس من هم مشکلات I/O بود. به گمانم بهتر است ربات را به پروژهٔ خودمان منتقل کنم یا به kubernetes. شما نظرتان چیست؟
2016-09-16 13:11 GMT-04:00 Amir Ladsgroup ladsgroup@gmail.com:
رباتتان در تول لبز است یا در پروژه ویکیفا در لبز؟ اگر در پروژه باشد که یک ماشین مجازی خاص خودش است و مشکلاتش ممکن است به دلیل کمبود رم یا سی پی یو باشد (اورس در لبز گاهی به این مشکلات برخورد میکرد). اگر در تول لبز است ممکن است به خاطر مشکلات نوشتن در NFS یا سرعت بسیار پایین I/O باشد که حدسم این است کیوبرنیتیس ممکن است در موردش بهتر عمل کند. نام سرویس گروپ را بدهید و اگر خواستید منتقلش میکنیم اگر هم خواستید کد را با من به اشتراک بگذارید تا نگاهی به آن بیندازم.
ارادتمند
On Fri, Sep 16, 2016 at 8:47 PM Huji Lee huji.huji@gmail.com wrote:
من نمیدانم مشکلی که من با آن مواجهم مربوط به این قضیه هست یا نه، اما رباتهایی که با پایتون اجرا میکنم گاهی برای یک برنامهٔ ساده دهها ثانیه برای لود شدن زمان میبرند.
روند انتقال به کیوبرنیتیس به چه شکلی است؟
2016-09-16 12:06 GMT-04:00 Amir Ladsgroup ladsgroup@gmail.com:
> امروز به ارائهای رسیدم که توضیح کوتاهی است چرا لبز بسیار ناپایدار > بود و چگونه این مشکل رفع شدهاست. توصیه میکنم ببینید: > https://www.youtube.com/watch?v=6XGUTu3WhBw > > خلاصهاش این است که سیستم تول لبز که بازمانده از تول سرور بود روی > سان گرید انجین ۶.۲ میچرخید که مشکلات خاص خودش را داشت ولی اکنون یک سامانه > دوتایی شدهاست که بخش دوم از کیوبرنیتیس استفاده میکند و بعضی از سرویس > گروپها مانند ربات من از کیوبرنیتیس هستند. کیوبرنیتیس سیستم هندل کردن > سیستمهای توزیعشده است که توسط گوگل برای کنترل سرورهای خودش ساخته شد و > اکنون به صورت اوپن سورس دراختیار عموم است. > > اگر میخواهید که سرویس گروپ شما به کیوبرنیتیس مهاجرت کند که سریعتر > ران شود و پایدارتر باشد بگویید تا دنبال انجام دادنش بروم. > > اردتمند > > _______________________________________________ > Wikipedia-fa-tech mailing list > Wikipedia-fa-tech@lists.wikimedia.org > https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech > > _______________________________________________ Wikipedia-fa-tech mailing list Wikipedia-fa-tech@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
Wikipedia-fa-tech mailing list Wikipedia-fa-tech@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
Wikipedia-fa-tech mailing list Wikipedia-fa-tech@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
Wikipedia-fa-tech mailing list Wikipedia-fa-tech@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
Wikipedia-fa-tech mailing list Wikipedia-fa-tech@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech