[Wikipedia-fa-tech] چگونه لبز بسیار پایدار شد.

Amir Ladsgroup ladsgroup at gmail.com
Sat Sep 17 11:54:24 UTC 2016


منظورم این بود که به جای ران کردن فایل بش مستقیما فایل پایتون را به گرید
انجین بفرستید وگرنه استفاده از pwb.py که ضروری است و بدون آن که کار
نمی‌کند. شرمنده سوتفاهم شد ;)

آن مشکل ممکن است از طریق رفتن به کیوبرنیتیس حل شود. بگذارید درخواست کنم که
تغییر دهند.

ارادتمند


On Sat, Sep 17, 2016 at 1:03 AM Huji Lee <huji.huji at gmail.com> wrote:

> خوب من همان کار را کرده بودم! شما گفتید عوض کنم ؛) به همان حالت pwb.py برش
> گرداندم
>
> کد به دیتابیس وصل می‌شود و کوئری می‌راند. اما یکی یکی. یعنی هر کوئری تا
> تمام نشود و جواب ثبت نشود سراغ بعدی نمی‌رود. در نتیجه نباید مشکلی کش داشته
> باشیم. دیگر این که همین کد مثلاً‌ چهارماه پیش سرعتش بیشتر بود تا الان.
> احساس می‌کنم که مشکل I/O است چون حتی کدهای ساده هم کند شده‌اند
>
> کمک شما را سپاسگزارم
>
> 2016-09-16 15:09 GMT-04:00 Amir Ladsgroup <ladsgroup at gmail.com>:
>
>> اول اینکه وقتی کور را می‌رانید مستقیما کد را اجرا نکنید. از طریق wrapper
>> pwb.py اجرا کنید که یک سری نرمالیزاسیون انجام می‌دهد که به شدت نیاز می‌شود.
>>
>> در مورد مشکل یونکید، در واقع این مشکل گرید انجین و زیرساخت پرل گرید انجین
>> ما است که با مهاجرت به کیوبرنیتیس حل می‌شود یا حلش آسانتر است.
>> به طور کلی وقتی روی گرید انجین اجرا می‌کنید اجازه ندهید ربات چیزی یونیکد
>> پرینت کند که ارور می‌دهد.
>>
>> کد را باید چک کنم که چه چیزی را قبلش می‌خواند که چنین می‌شود. ممکن است
>> تلاش کند به دیتابیس وصل شود و در لوکال‌هاست سریع فیل شود.
>> ارادتمند
>>
>> On Fri, Sep 16, 2016 at 11:32 PM Huji Lee <huji.huji at 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 at 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 at 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 at 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 at gmail.com>:
>>>>>>
>>>>>>> رباتتان در تول لبز است یا در پروژه ویکی‌فا در لبز؟ اگر در پروژه باشد
>>>>>>> که یک ماشین مجازی خاص خودش است و مشکلاتش ممکن است به دلیل کمبود رم یا سی پی
>>>>>>> یو باشد (اورس در لبز گاهی به این مشکلات برخورد می‌کرد). اگر در تول لبز است
>>>>>>> ممکن است به خاطر مشکلات نوشتن در NFS یا سرعت بسیار پایین I/O باشد که حدسم
>>>>>>> این است کیوبرنیتیس ممکن است در موردش بهتر عمل کند. نام سرویس گروپ را بدهید
>>>>>>> و اگر خواستید منتقلش می‌کنیم اگر هم خواستید کد را با من به اشتراک بگذارید
>>>>>>> تا نگاهی به آن بیندازم.
>>>>>>>
>>>>>>> ارادتمند
>>>>>>>
>>>>>>> On Fri, Sep 16, 2016 at 8:47 PM Huji Lee <huji.huji at gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> من نمی‌دانم مشکلی که من با آن مواجهم مربوط به این قضیه هست یا نه،
>>>>>>>> اما ربات‌هایی که با پایتون اجرا می‌کنم گاهی برای یک برنامهٔ ساده ده‌ها
>>>>>>>> ثانیه برای لود شدن زمان می‌برند.
>>>>>>>>
>>>>>>>> روند انتقال به کیوبرنیتیس به چه شکلی است؟
>>>>>>>>
>>>>>>>> 2016-09-16 12:06 GMT-04:00 Amir Ladsgroup <ladsgroup at gmail.com>:
>>>>>>>>
>>>>>>>>> امروز به ارائه‌ای رسیدم که توضیح کوتاهی است چرا لبز بسیار ناپایدار
>>>>>>>>> بود و چگونه این مشکل رفع شده‌است. توصیه می‌کنم ببینید:
>>>>>>>>> https://www.youtube.com/watch?v=6XGUTu3WhBw
>>>>>>>>>
>>>>>>>>> خلاصه‌اش این است که سیستم تول لبز که بازمانده از تول سرور بود روی
>>>>>>>>> سان گرید انجین ۶.۲ می‌چرخید که مشکلات خاص خودش را داشت ولی اکنون یک سامانه
>>>>>>>>> دوتایی شده‌است که بخش دوم از کیوبرنیتیس استفاده می‌کند و بعضی از سرویس
>>>>>>>>> گروپ‌ها مانند ربات من از کیوبرنیتیس هستند. کیوبرنیتیس سیستم هندل کردن
>>>>>>>>> سیستم‌های توزیع‌شده است که توسط گوگل برای کنترل سرورهای خودش ساخته شد و
>>>>>>>>> اکنون به صورت اوپن سورس دراختیار عموم است.
>>>>>>>>>
>>>>>>>>> اگر می‌خواهید که سرویس گروپ شما به کیوبرنیتیس مهاجرت کند که سریعتر
>>>>>>>>> ران شود و پایدارتر باشد بگویید تا دنبال انجام دادنش بروم.
>>>>>>>>>
>>>>>>>>> اردتمند
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Wikipedia-fa-tech mailing list
>>>>>>>>> Wikipedia-fa-tech at lists.wikimedia.org
>>>>>>>>> https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
>>>>>>>>>
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Wikipedia-fa-tech mailing list
>>>>>>>> Wikipedia-fa-tech at lists.wikimedia.org
>>>>>>>> https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Wikipedia-fa-tech mailing list
>>>>>>> Wikipedia-fa-tech at lists.wikimedia.org
>>>>>>> https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
>>>>>>>
>>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> Wikipedia-fa-tech mailing list
>>>>> Wikipedia-fa-tech at lists.wikimedia.org
>>>>> https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
>>>>>
>>>>
>>>> _______________________________________________
>>>> Wikipedia-fa-tech mailing list
>>>> Wikipedia-fa-tech at lists.wikimedia.org
>>>> https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
>>>>
>>>>
>>> _______________________________________________
>>> Wikipedia-fa-tech mailing list
>>> Wikipedia-fa-tech at lists.wikimedia.org
>>> https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
>>>
>>
>> _______________________________________________
>> Wikipedia-fa-tech mailing list
>> Wikipedia-fa-tech at lists.wikimedia.org
>> https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
>>
>>
> _______________________________________________
> Wikipedia-fa-tech mailing list
> Wikipedia-fa-tech at lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/wikipedia-fa-tech
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.wikimedia.org/pipermail/wikipedia-fa-tech/attachments/20160917/d2ddcd33/attachment-0001.html>


More information about the Wikipedia-fa-tech mailing list