Open tetsuzawa opened 10 months ago
サービス一覧
2コア
``` processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 85 model name : Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz stepping : 7 microcode : 0x5003604 cpu MHz : 2999.998 cache size : 36608 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves ida arat pku ospke bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 5999.99 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 85 model name : Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz stepping : 7 microcode : 0x5003604 cpu MHz : 3605.784 cache size : 36608 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves ida arat pku ospke bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 5999.99 clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management: ```
4GB, Swapなし
``` MemTotal: 3803064 kB MemFree: 2967432 kB MemAvailable: 3083256 kB Buffers: 19832 kB Cached: 293580 kB SwapCached: 0 kB Active: 86936 kB Inactive: 630208 kB Active(anon): 692 kB Inactive(anon): 416620 kB Active(file): 86244 kB Inactive(file): 213588 kB Unevictable: 22872 kB Mlocked: 18336 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 48 kB Writeback: 0 kB AnonPages: 426516 kB Mapped: 97984 kB Shmem: 844 kB KReclaimable: 39036 kB Slab: 59972 kB SReclaimable: 39036 kB SUnreclaim: 20936 kB KernelStack: 2816 kB PageTables: 3912 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 1901532 kB Committed_AS: 1085096 kB VmallocTotal: 34359738367 kB VmallocUsed: 10024 kB VmallocChunk: 0 kB Percpu: 1248 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB FileHugePages: 0 kB FilePmdMapped: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB DirectMap4k: 69544 kB DirectMap2M: 3905536 kB DirectMap1G: 0 kB ```
30GB
node: テーブル
関数
edge: INSERT
UPDATE
DELETE
SELECT
関数呼び出し
graph LR
classDef table fill:#795548,fill-opacity:0.5
classDef func fill:#1976D2,fill-opacity:0.5
func:SubmitAssignment[SubmitAssignment]:::func --> table:classes[classes]:::table
func:SubmitAssignment[SubmitAssignment]:::func --> table:courses[courses]:::table
func:SubmitAssignment[SubmitAssignment]:::func --> table:registrations[registrations]:::table
func:SubmitAssignment[SubmitAssignment]:::func --> table:submissions[submissions]:::table
func:GetAnnouncementDetail[GetAnnouncementDetail]:::func --> table:announcements[announcements]:::table
func:GetAnnouncementDetail[GetAnnouncementDetail]:::func --> table:courses[courses]:::table
func:GetAnnouncementDetail[GetAnnouncementDetail]:::func --> table:registrations[registrations]:::table
func:GetAnnouncementDetail[GetAnnouncementDetail]:::func --> table:unread_announcements[unread_announcements]:::table
func:GetAnnouncementDetail[GetAnnouncementDetail]:::func --> table:unread_announcements[unread_announcements]:::table
func:AddClass[AddClass]:::func --> table:classes[classes]:::table
func:AddClass[AddClass]:::func --> table:classes[classes]:::table
func:AddClass[AddClass]:::func --> table:courses[courses]:::table
func:SearchCourses[SearchCourses]:::func --> table:courses[courses]:::table
func:SearchCourses[SearchCourses]:::func --> table:users[users]:::table
func:GetAnnouncementList[GetAnnouncementList]:::func --> table:announcements[announcements]:::table
func:GetAnnouncementList[GetAnnouncementList]:::func --> table:courses[courses]:::table
func:GetAnnouncementList[GetAnnouncementList]:::func --> table:registrations[registrations]:::table
func:GetAnnouncementList[GetAnnouncementList]:::func --> table:unread_announcements[unread_announcements]:::table
func:SetCourseStatus[SetCourseStatus]:::func --> table:courses[courses]:::table
func:SetCourseStatus[SetCourseStatus]:::func --> table:courses[courses]:::table
func:DownloadSubmittedAssignments[DownloadSubmittedAssignments]:::func --> table:classes[classes]:::table
func:DownloadSubmittedAssignments[DownloadSubmittedAssignments]:::func --> table:classes[classes]:::table
func:DownloadSubmittedAssignments[DownloadSubmittedAssignments]:::func --> table:submissions[submissions]:::table
func:DownloadSubmittedAssignments[DownloadSubmittedAssignments]:::func --> table:users[users]:::table
func:GetGrades[GetGrades]:::func --> table:classes[classes]:::table
func:GetGrades[GetGrades]:::func --> table:courses[courses]:::table
func:GetGrades[GetGrades]:::func --> table:registrations[registrations]:::table
func:GetGrades[GetGrades]:::func --> table:submissions[submissions]:::table
func:GetGrades[GetGrades]:::func --> table:users[users]:::table
func:AddAnnouncement[AddAnnouncement]:::func --> table:announcements[announcements]:::table
func:AddAnnouncement[AddAnnouncement]:::func --> table:announcements[announcements]:::table
func:AddAnnouncement[AddAnnouncement]:::func --> table:courses[courses]:::table
func:AddAnnouncement[AddAnnouncement]:::func --> table:registrations[registrations]:::table
func:AddAnnouncement[AddAnnouncement]:::func --> table:unread_announcements[unread_announcements]:::table
func:AddAnnouncement[AddAnnouncement]:::func --> table:users[users]:::table
func:RegisterCourses[RegisterCourses]:::func --> table:courses[courses]:::table
func:RegisterCourses[RegisterCourses]:::func --> table:registrations[registrations]:::table
func:RegisterCourses[RegisterCourses]:::func --> table:registrations[registrations]:::table
func:RegisterScores[RegisterScores]:::func --> table:classes[classes]:::table
func:RegisterScores[RegisterScores]:::func --> table:submissions[submissions]:::table
func:RegisterScores[RegisterScores]:::func --> table:users[users]:::table
func:AddCourse[AddCourse]:::func --> table:courses[courses]:::table
func:AddCourse[AddCourse]:::func --> table:courses[courses]:::table
func:GetMe[GetMe]:::func --> table:users[users]:::table
func:GetRegisteredCourses[GetRegisteredCourses]:::func --> table:courses[courses]:::table
func:GetRegisteredCourses[GetRegisteredCourses]:::func --> table:registrations[registrations]:::table
func:GetRegisteredCourses[GetRegisteredCourses]:::func --> table:users[users]:::table
func:GetClasses[GetClasses]:::func --> table:classes[classes]:::table
func:GetClasses[GetClasses]:::func --> table:courses[courses]:::table
func:GetClasses[GetClasses]:::func --> table:submissions[submissions]:::table
func:GetCourseDetail[GetCourseDetail]:::func --> table:courses[courses]:::table
func:GetCourseDetail[GetCourseDetail]:::func --> table:users[users]:::table
func:Login[Login]:::func --> table:users[users]:::table
linkStyle 0,1,2,4,5,6,7,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,29,31,32,34,35,37,38,42,43,44,45,46,47,48,49,50,51,52 stroke:#78909C,stroke-width:2px
linkStyle 3,9,30,33,36,41 stroke:#CDDC39,stroke-width:2px
linkStyle 8,19,21,39,40 stroke:#FF9800,stroke-width:2px
```sql select(registrations): select `courses`.* from `registrations` join `courses` on `registrations`.`course_id` = `courses`.`id` where `user_id` = ? select(courses): select `courses`.* from `registrations` join `courses` on `registrations`.`course_id` = `courses`.`id` where `user_id` = ? select(classes): select * from `classes` where `course_id` = ? order by `part` desc select(submissions): select count(*) from `submissions` where `class_id` = ? select(users): select ifnull(sum(`submissions`.`score`), 0) as `total_score` from `users` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `courses`.`id` = ? group by `users`.`id` select(registrations): select ifnull(sum(`submissions`.`score`), 0) as `total_score` from `users` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `courses`.`id` = ? group by `users`.`id` select(courses): select ifnull(sum(`submissions`.`score`), 0) as `total_score` from `users` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `courses`.`id` = ? group by `users`.`id` select(classes): select ifnull(sum(`submissions`.`score`), 0) as `total_score` from `users` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `courses`.`id` = ? group by `users`.`id` select(submissions): select ifnull(sum(`submissions`.`score`), 0) as `total_score` from `users` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `courses`.`id` = ? group by `users`.`id` select(submissions): select `submissions`.`score` from `submissions` where `user_id` = ? and `class_id` = ? select(users): select ifnull(sum(`submissions`.`score` * `courses`.`credit`), 0) / 100 / `credits`.`credits` as `gpa` from `users` join () as `credits` on `credits`.`user_id` = `users`.`id` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` and `courses`.`status` = ? left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `users`.`type` = ? group by `users`.`id` select(registrations): select ifnull(sum(`submissions`.`score` * `courses`.`credit`), 0) / 100 / `credits`.`credits` as `gpa` from `users` join () as `credits` on `credits`.`user_id` = `users`.`id` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` and `courses`.`status` = ? left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `users`.`type` = ? group by `users`.`id` select(courses): select ifnull(sum(`submissions`.`score` * `courses`.`credit`), 0) / 100 / `credits`.`credits` as `gpa` from `users` join () as `credits` on `credits`.`user_id` = `users`.`id` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` and `courses`.`status` = ? left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `users`.`type` = ? group by `users`.`id` select(classes): select ifnull(sum(`submissions`.`score` * `courses`.`credit`), 0) / 100 / `credits`.`credits` as `gpa` from `users` join () as `credits` on `credits`.`user_id` = `users`.`id` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` and `courses`.`status` = ? left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `users`.`type` = ? group by `users`.`id` select(submissions): select ifnull(sum(`submissions`.`score` * `courses`.`credit`), 0) / 100 / `credits`.`credits` as `gpa` from `users` join () as `credits` on `credits`.`user_id` = `users`.`id` join `registrations` on `users`.`id` = `registrations`.`user_id` join `courses` on `registrations`.`course_id` = `courses`.`id` and `courses`.`status` = ? left join `classes` on `courses`.`id` = `classes`.`course_id` left join `submissions` on `users`.`id` = `submissions`.`user_id` and `submissions`.`class_id` = `classes`.`id` where `users`.`type` = ? group by `users`.`id` select(users): select `code` from `users` where `id` = ? select(users): select * from `users` where `code` = ? select(classes): select count(*) from `classes` where `id` = ? for update select(submissions): select `submissions`.`user_id`, `submissions`.`file_name`, `users`.`code` as `user_code` from `submissions` join `users` on `users`.`id` = `submissions`.`user_id` where `class_id` = ? select(users): select `submissions`.`user_id`, `submissions`.`file_name`, `users`.`code` as `user_code` from `submissions` join `users` on `users`.`id` = `submissions`.`user_id` where `class_id` = ? update(classes): update `classes` set `submission_closed` = true where `id` = ? select(announcements): select `announcements`.`id`, `courses`.`id` as `course_id`, `courses`.`name` as `course_name`, `announcements`.`title`, `announcements`.`message`, not `unread_announcements`.`is_deleted` as `unread` from `announcements` join `courses` on `courses`.`id` = `announcements`.`course_id` join `unread_announcements` on `unread_announcements`.`announcement_id` = `announcements`.`id` where `announcements`.`id` = ? and `unread_announcements`.`user_id` = ? select(courses): select `announcements`.`id`, `courses`.`id` as `course_id`, `courses`.`name` as `course_name`, `announcements`.`title`, `announcements`.`message`, not `unread_announcements`.`is_deleted` as `unread` from `announcements` join `courses` on `courses`.`id` = `announcements`.`course_id` join `unread_announcements` on `unread_announcements`.`announcement_id` = `announcements`.`id` where `announcements`.`id` = ? and `unread_announcements`.`user_id` = ? select(unread_announcements): select `announcements`.`id`, `courses`.`id` as `course_id`, `courses`.`name` as `course_name`, `announcements`.`title`, `announcements`.`message`, not `unread_announcements`.`is_deleted` as `unread` from `announcements` join `courses` on `courses`.`id` = `announcements`.`course_id` join `unread_announcements` on `unread_announcements`.`announcement_id` = `announcements`.`id` where `announcements`.`id` = ? and `unread_announcements`.`user_id` = ? select(registrations): select count(*) from `registrations` where `course_id` = ? and `user_id` = ? update(unread_announcements): update `unread_announcements` set `is_deleted` = true where `announcement_id` = ? and `user_id` = ? select(courses): select count(*) from `courses` where `id` = ? insert(announcements): insert into `announcements` (`id`, `course_id`, `title`, `message`) values (?, ?, ?, ?) select(users): select `users`.* from `users` join `registrations` on `users`.`id` = `registrations`.`user_id` where `registrations`.`course_id` = ? select(registrations): select `users`.* from `users` join `registrations` on `users`.`id` = `registrations`.`user_id` where `registrations`.`course_id` = ? select(announcements): select * from `announcements` where `id` = ? insert(unread_announcements): insert into `unread_announcements` (`announcement_id`, `user_id`) values (?, ?) select(classes): select `submission_closed` from `classes` where `id` = ? for share update(submissions): update `submissions` join `users` on `users`.`id` = `submissions`.`user_id` set `score` = ? where `users`.`code` = ? and `class_id` = ? update(users): update `submissions` join `users` on `users`.`id` = `submissions`.`user_id` set `score` = ? where `users`.`code` = ? and `class_id` = ? select(courses): select `courses`.*, `users`.`name` as `teacher` from `courses` join `users` on `courses`.`teacher_id` = `users`.`id` where `courses`.`id` = ? select(users): select `courses`.*, `users`.`name` as `teacher` from `courses` join `users` on `courses`.`teacher_id` = `users`.`id` where `courses`.`id` = ? select(courses): select `courses`.* from `courses` join `registrations` on `courses`.`id` = `registrations`.`course_id` where `courses`.`status` != ? and `registrations`.`user_id` = ? select(registrations): select `courses`.* from `courses` join `registrations` on `courses`.`id` = `registrations`.`course_id` where `courses`.`status` != ? and `registrations`.`user_id` = ? select(users): select * from `users` where `id` = ? insert(courses): insert into `courses` (`id`, `code`, `type`, `name`, `description`, `credit`, `period`, `day_of_week`, `teacher_id`, `keywords`) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) select(courses): select * from `courses` where `code` = ? select(courses): select `status` from `courses` where `id` = ? for share select(registrations): select count(*) from `registrations` where `user_id` = ? and `course_id` = ? select(classes): select `submission_closed` from `classes` where `id` = ? for share insert(submissions): insert into `submissions` (`user_id`, `class_id`, `file_name`) values (?, ?, ?) on duplicate key update `file_name` = values(`file_name`) select(courses): select * from `courses` where `id` = ? for share select(courses): select `courses`.* from `courses` join `registrations` on `courses`.`id` = `registrations`.`course_id` where `courses`.`status` != ? and `registrations`.`user_id` = ? select(registrations): select `courses`.* from `courses` join `registrations` on `courses`.`id` = `registrations`.`course_id` where `courses`.`status` != ? and `registrations`.`user_id` = ? select(registrations): select count(*) from `registrations` where `course_id` = ? and `user_id` = ? insert(registrations): insert into `registrations` (`course_id`, `user_id`) values (?, ?) on duplicate key update `course_id` = values(`course_id`), `user_id` = values(`user_id`) select(courses): select * from `courses` where `id` = ? for share insert(classes): insert into `classes` (`id`, `course_id`, `part`, `title`, `description`) values (?, ?, ?, ?, ?) select(classes): select * from `classes` where `course_id` = ? and `part` = ? select(courses): select `courses`.*, `users`.`name` as `teacher` from `courses` join `users` on `courses`.`teacher_id` = `users`.`id` where 1=1 select(users): select `courses`.*, `users`.`name` as `teacher` from `courses` join `users` on `courses`.`teacher_id` = `users`.`id` where 1=1 select(courses): select count(*) from `courses` where `id` = ? for update update(courses): update `courses` set `status` = ? where `id` = ? select(courses): select count(*) from `courses` where `id` = ? select(classes): select `classes`.*, `submissions`.`user_id` is not null as `submitted` from `classes` left join `submissions` on `classes`.`id` = `submissions`.`class_id` and `submissions`.`user_id` = ? where `classes`.`course_id` = ? order by `classes`.`part` select(submissions): select `classes`.*, `submissions`.`user_id` is not null as `submitted` from `classes` left join `submissions` on `classes`.`id` = `submissions`.`class_id` and `submissions`.`user_id` = ? where `classes`.`course_id` = ? order by `classes`.`part` select(announcements): select `announcements`.`id`, `courses`.`id` as `course_id`, `courses`.`name` as `course_name`, `announcements`.`title`, not `unread_announcements`.`is_deleted` as `unread` from `announcements` join `courses` on `announcements`.`course_id` = `courses`.`id` join `registrations` on `courses`.`id` = `registrations`.`course_id` join `unread_announcements` on `announcements`.`id` = `unread_announcements`.`announcement_id` where 1=1 select(courses): select `announcements`.`id`, `courses`.`id` as `course_id`, `courses`.`name` as `course_name`, `announcements`.`title`, not `unread_announcements`.`is_deleted` as `unread` from `announcements` join `courses` on `announcements`.`course_id` = `courses`.`id` join `registrations` on `courses`.`id` = `registrations`.`course_id` join `unread_announcements` on `announcements`.`id` = `unread_announcements`.`announcement_id` where 1=1 select(registrations): select `announcements`.`id`, `courses`.`id` as `course_id`, `courses`.`name` as `course_name`, `announcements`.`title`, not `unread_announcements`.`is_deleted` as `unread` from `announcements` join `courses` on `announcements`.`course_id` = `courses`.`id` join `registrations` on `courses`.`id` = `registrations`.`course_id` join `unread_announcements` on `announcements`.`id` = `unread_announcements`.`announcement_id` where 1=1 select(unread_announcements): select `announcements`.`id`, `courses`.`id` as `course_id`, `courses`.`name` as `course_name`, `announcements`.`title`, not `unread_announcements`.`is_deleted` as `unread` from `announcements` join `courses` on `announcements`.`course_id` = `courses`.`id` join `registrations` on `courses`.`id` = `registrations`.`course_id` join `unread_announcements` on `announcements`.`id` = `unread_announcements`.`announcement_id` where 1=1 select(unread_announcements): select count(*) from `unread_announcements` where `user_id` = ? and not `is_deleted` ```
systemctl list-units --type=service
cat main.go | perl -nal -E 'say "L$.: $1" if /"((?:SELECT|DELETE|UPDATE|INSERT)[^"]*)"/'